Experience software with Wittmann&Partner


iManagement – Extension Pack 1

Posted in iManagement by Florin Stoian on the October 17th, 2008

iManagement application was extended in the last months with new functionalities and some of the basic behavior was much improved.
One of the biggest extensions is the new “Fileshare” plug-in (Fig.1), this was created for sharing files between project users. Based on the application rights a user can view, upload, delete create new directories. This feature is available at project level, but also in the ‘Central Information’ section.
iMan1 Fig1
Another important improvement is in the ‘Activity Reports’ functionality from Scheduler. Although this was created some time ago, it was not fully used by the managers. From now on, an agent will run on every Saturday and will generate activity reports for all the users on every project they worked on. The report is actually a snap-shot contain user tasks and worked hours for a certain period. Later delete of tasks from the scheduler will not affect this data. The Project Managers will validate the hours for every employee (Fig. 2). The validation can be done from the whole Activity Report in one action to task-hours-day fine granularity. The list of the activity reports will be accessible from the dashboard and from project level.
iMan1 Fig2
Based on the estimated time for tasks added at task creation (Budget Cost of Work Scheduled), the worked time input daily by user (Budget Cost of Work Performed) and the validated time that is accepted by the managers using Activity Reports Functionality (Actual Cost of Work Performed) a new graph will be generated in the Scheduler -> Reports section. This is called the Project Performance Graph (Fig. 3) and it can show in an image the status of the project at the current time.
iMan1 Fig3
One of our present goals is a better integration of our application with external tools. So we’ve added an iCalendar feed (Fig.4) in the main dashboard that will permit you to export meetings, milestones, delivery and planned tasks to any device that implements this standard (Outlook, Google Calendar, Windows Vista Calendar, PDAs etc). using the web link of the feed which can be copyed from the dashboard, you can auto-refresh your calendar and permanently receive all the new tasks that were scheduled for you. The internal behavior and export data of this functionality is subject to change an evaluation of internal needs in our company.
iMan1 Fig4
Because email is an important day-by-day communication channel we’ve added some new functionality that makes use of it.
By example an old functionality that was sending notifications whenever an issue was created or changed was reengineered and transformed in an agent that is memorizing the modified issues and sends notifications emails containing data from the issue at preset time intervals. You can subscribe or unsubscribe to notifications regarding an issue from the menu in the issue edit page
IssueByEmail is new email functionality that was added to our application. This will permit our clients to add issues regarding their collaboration with us by simply sending an email to a predefined mailbox (ex. imanagement@support.wpcs.ro). An agent will process emails at preset time intervals and will transform them in issues if enough information is available. If not they will be stored in the unprocessed bulk issues basket. From here a user will process them manually (Fig.5 Bulk Issue Processing) and send them to issues. If an email contains images and attachments, these will automatically be transformed into application attachments.
iMan1 Fig5
The Orders plug-in (much more familiar to management personal), was extended with an email agent too. This will run every morning and will send an overdue invoices email (Fig.6) to managers according to the roles they have in a project.
iMan1 Fig6
All the automatically sent emails we talked about contain quick link information that will allow direct access to issues, invoices etc with a single click.

To improve application accessibility we’ve added a dashboard as starting page of the application. This contains much of the information a user needs, avoiding navigation through application tree. The dashboard is based on the new web part control from Microsoft. The user can self configure the structure of the dashboard page and his access to a particular web part can be set from the security module. For example, only managers will see the web parts related to orders.

The available web parts are:

My activities (Fig.7)– the user is able to see the scheduled tasks for him (by day, week or month) and input his work time. Tasks from all projects will be displayed. This is similar to My Tasks page from ‘Central Information’ section.
iMan1 Fig7
Work ahead (Fig. 4) – Shows planned tasks for the following week and permits access to iCalendar feeds add-in

My issues (Fig. 8) – Shows the user’s issues for all projects. Double clicking will open the page in the project where editing is possible. Also the filters that the users defined are accessible from the left corner of the web part. If one is selected as default, it will be used when the web part loads
iMan1 Fig8
Activity reports (Fig. 9) – This is intended for manager’s use. It displays a list with the self assigned activity reports and with the unassigned activity reports and permits quick access to the reports using double clicks.
iMan1 Fig9
Project selector (Fig. 10) – it replicates the functionality found in the old Workspace start page (for the ones that remember it). This allows access to project level, has quick create functionality and allows project creation if the user has the right security settings.
iMan1 Fig10
Invoices (Fig. 11) – Shows all overdue invoices and permits quick access to them. This is intented for managerial use
iMan1 Fig11
Also we’ve added task id as accessibility element in most of the pages. Using it for searching filtering, bindings etc can make the user’s life much easier.
Other improvements for accessibility reasons can be found in Tree View pages (Fig.12). Left/right arrows collapse/expand nodes, up/down arrows and mouse scroll change tree selection and enter key performs the double click action in the tree. You’ll find an improved version of search box in our controls, that will change color when the search string doesn’t exist and permits executing an action on the selected row by using the enter key.
iMan1 Fig12
A new print functionality has been added for issues. The user can generate a report for all project issues or for a single issue and print the result or save it as excel. (Fig. 13)
iMan1 Fig13
The employees that work on a single project have now the possibility to load it directly without using the main dashboard for navigation. When you open a project (fig. 14) you’ll see that a new link-icon have appeared on the project page splitter. By adding the link to favorites you can access your project without passing through the dashboard. You can go to the main dashboard anytime by clicking the ‘iManagement’ link in the header section.
iMan1 Fig14
The application GUI was improved using new and more suggestive icons and a simpler color palette. Web Part Controls and AJAX pages are also a new addition to the interface.
Some improvements have been done in the backend and database too. The application code has been upgraded from .NET 1.1 to .NET 3.5 and from NH 1.0.2 to NHibernate 2.0 . The tables related to the scheduler have been reengineered to ensure an increased performance in the reports area and in my tasks area of the plug-in.
Attention! Some of the features presented here may be available only to some of the employees, for security reasons.

iManagement – Extension Pack 2

Posted in iManagement by Florin Stoian on the October 17th, 2008

This is the second extension session for application iManagement. Most of the modifications that were made are related to Tasks objects and interacting with them.
The first modification is in the Create Task Dialog. When you create a task the application is reserving time for in the selected resource calendar. The algorithms used till now were not functioning well enough for all the needs in the company. Now you have 4 options when you need to schedule a task (Fig.1)
iMan2 Fig1
Now, a short presentation of each:
a. None – this option will create your task and it will not reserve any time in your resource calendar, although this task will appear in My Tasks displayer and you can add worked time to it.
b. Ignore Other Tasks - it’s the old behavior of the scheduler. The task will be scheduled beginning with Start Date and it will extend the End Date as necessary, ignoring any task reservations in that period. In other words if you have a week fully scheduled and you add another task with this option from the beginning of the week, this option will over allocate the task resource without any warning.
c. Manual Control – this option allows you to schedule a task as you desire. When you hit Accept on the form a popup requesting you to enter a Start Date/End Date will show. By default these will be the Start Date – End Date declared in the task, but you can extend this period if you are not sure you can schedule the entire task time between those dates. Continuing a new popup will show, allowing you to manipulate the resource time (fig.2) for the selected period. Unfortunately the interface of the page is not very friendly and it’s subject to change in the near future.
iMan2 Fig2
You can note that there are some project and task names and times on the screen. Some of them are bold and some are normal. The bolded text represents scheduled time that was already executed by the resource and the normal text is scheduled time. On this display can be also displayed tasks using strikeout text that represents tasks for the resource in projects that you have no control. The page offers you the possibility of 4 simple operations:
- Add – please select a Date cell and click Add button. A small popup will allow you to enter time (max. 1440 min – 24h) per day for the task you want to schedule. Then a new line will appear for the selected date containing the data you’ve just entered.
- Delete – please select a task line from the right column. Only scheduled time of a task can be selected for deletion (displayed in normal text). A popup will show and allow you to delete the whole entry for that day or only a part of it.
- Reschedule – please select a task line and a Date cell and click Reschedule button. A popup will allow you to move all or some of the task time in the selected date.
- Undo – will cancel the last operation you’ve made. Basically you can undo all the operation you’ve made since the popup opened.
In the lower part of the screen you can se how much time is estimated for the task and how much time you’ve scheduled. Accept will save your changes in the resource calendar.
d. Auto Schedule – this mechanism will make an evaluation of the resource calendar for the selected period and it will try to reserve time for your task. If the available time is not enough a popup will show how much time you still need. The available option you have at this point is extending the task interval or change to one of the others scheduling options.

The application already had a Resource Allocation page (Fig.3), but this needed extension, in order to be capable of displaying more than one resource in the same time. The feature is available at Project level in the Scheduler Plug-in Resources -> View Resource Allocation.
iMan2 Fig3
The page displays also an allocation average for all the selected resources. This will automatically exclude Saturdays, Sundays or other non-working days of some resource that can appear.
Some of the colleagues are using PBS or Product Breakdown Structure, This is accessible in the application at Project Level, through the ‘Products view’ entry in the Scheduler plug-in. This structure is closely related to the Plans view, the tasks structure of the project. Every product can be linked with a plan and correlate it’s Estimated and Effective duration with it. Calculating this values needs summing the values in the tree-like structure for tasks, combined with the list in the daily calendar of the resources. To avoid this kind of overhead at every task modification or every display of the products view, we’ve added a new Action in the Products view, called Refresh Products Duration. This will recalculate all the values for the products in the current Project. A report is also available for the PBS and it can be accessed from the Products View page, View menu. The report can be printed or exported to Excel CSV format.
A new functionality in the application is the Project Template Export-Import Mechanism. This allows you to export all the tasks and plans from a project and import them as a new project or as a part of another project. This is accessible through the ‘Project Template’ menu available in the ‘Plans View’ page. Export project is a simple functionality that will transform the project structure in an XML file and ask you to download it. The dates will be transformed to an integer number calculated with the formula (DATE -project start date) and the resources will be replaced with dummy names like Programmer 1, Programmer 2 and Tester 1 etc. The import functionality is a structured like Wizard with 3 steps:
STEP 1(fig.4) – configure the data import. Here you upload an XML project file containing a Project Template and choose if you want to import the tasks and tasks text description.
iMan2 Fig4
STEP 2(fig.5) – preview the data model. You can see here the whole structure of the data that must be imported.
iMan2 Fig5
STEP 3(fig.6) – current project context. This is the last step of the wizard. You must select a start date for the data structure you import and eventually map all the resources to real users in your current project. You can always leave the user mappings blank and the importer will create tasks in the ‘Unallocated’ state. Also you must select a Parent Plan where you will import the new data. This can be the Root Plan for a new project or an existent plan with no children for the existing projects.
iMan2 Fig6
The add-in with most visual impact in the application is the new project dashboard (Fig.7). This is the new default page at project level in the application. The content of this page can offer you a quick picture over the project status from individual and general perspective.
iMan2 Fig7

As you can see in the image above several web parts are available for this dashboard:
- Tasks By Priority – open tasks classified by priority
- Tasks By Assignment – open tasks classified by the assigned resource
- Tasks By Status – all the tasks classified by status
- My Current Tasks – a simple summary of the tasks that appear to you in My Tasks displayer
- Issues By Status – all the issues classified by their status
- Issues By Category – all the issues in the project classified by their category.
- Open Issues By Assignments – open issues classified by their responsible
- Open Issues By Version – open issues classified by the Version they are bound. The bound it’s not direct and it’s done through Test Session.
- Issues Custom Queries – the custom queries are an older functionality that allows the user to define his personalized query at project or general level. For example: all my issues that have the status new and are in the Category ‘Bug’ and have the Test Session TS1.
Finally, the last modification that this package added to the application is a new accessibility feature added to My Tasks pages. A Footer that contains daily sum of worked and estimated hours appears now on every screen (Fig.8).
iMan2 Fig8
Also I want to mention here an older functionality that exists from some time, but I’m not sure that many users know about it. The links that appear on the right of any My Tasks Display are functional and they are filtering your list based on the status of the task (delayed,closed,active etc)(fig. 9).
iMan2 Fig9
Attention! Some of the features presented here may be available only to some of the employees, for security reasons.

iPORTAL – AN ENTERPRISE COLLABORATIVE PORTAL

Posted in Java, Web Development, Content Management Systems by Laurentiu Ciovica on the October 9th, 2008

This article describes an enterprise collaborative portal approach that plays an active role for company employees, partners and customers by managing business content, unifying work teams and providing one- stop access to essential documentation, functionality and services.

Portals – enterprise collaborative solutions

The raised issue is that of process coordination in large distributed business environments. A solution for this will be proposed based on a web-based software application that supports documents sharing, real-time communication solutions, decision-making processes or other collaborative practices.

Since the users were both internal employees and external customers and suppliers, a customizable, web-based portal with secure browser access was the only solution.

“A portal is your enterprise.”

“A portal is a single synergistic access to all your enterprise information, and only the appropriate information.”

“A portal is a Web-based application that commonly provides personalization, single sign-on, and content aggregation from different sources, and it hosts the presentation layer of information systems. Aggregation is the action of integrating content from different sources within a Web page. A portal may have sophisticated personalization features to provide customized content to users. Portal pages may have different sets of portlets creating content for different users.” [Java Community - JSR168].

At a closer look through portal features, such as:

  • Aggregation of content,
  • Customized views,
  • Personalized content,
  • Collaboration features,
  • Web services access,

and so on, we meet also our solution requirements.

For now the portal concept is the most appropriate to our idea. The next step was in finding some open-source portals or some already developed platforms for portal development.

We believe that the concept of the portal as a desktop replacement is still a bit far in future, because a Web browser is only one of the tools most people use on a daily basis. While centrally managing applications is good, and provides a number of benefits to the distributed office, significant functionality it is lost by putting your e-mail and instant messenger into a Web browser. While this is feasible, ultimately it reduces your effectiveness, resulting in a portal that is actually hurting the enterprise.

Furthermore, no one has seriously proposed running office automation tools in a Web browser. Ultimately, a portal can provide good value in presenting an organized view of the data, but it should not feel as if it is an all-encompassing and monolithic desktop replacement. Developers should instead consider user interfaces as appropriate, and leverage other client platforms to provide more sophisticated views, with the portal serving Web services to them.

 Liferay Portal

As a portal open source implementation we choose the Liferay Enterprise Portal  which provides a tremendous amount of value for very little hassle. It supports a wide variety of J2EE application servers and databases.

Essentially, quickly download, set an environment variable, run a shell script, and you have an enterprise portal. It is set up to quickly provide an easily configurable corporate portal, with such nice features as a Mapquest lookup of your company’s address, showing an overview map.

Extensive portlets come with it, including search, message board, Wiki, journal, news feeds, weather, calendar, stocks, general RSS, instant messaging, SMS messaging, unit conversion, translator, dictionary and user directory, and that is only about half of them! Many of these portlets are supported by the community – so are open-source and free. A real advantage for you business.

The whole framework is built upon Jakarta Struts, which provides a high likelihood that it would be easy to extend. However, extensive documentation is not available. Furthermore, while it seems likely that they will become compliant with the new standard, there is no indication of when this will occur.

Being built after the JSR-168 specifications first and for the newest version after JSR-268 other portlets, java-based, are easy to develop and install – at just almost three “click’s away” (upload the portlet web application and press the install button and all it is done, the portal deploys the application and automatically registers it within the specified category).

 

iPortal - an enterprise collaborative portal

After reviewing the Liferay portal wide range of provided portlets and reading all its documentation – for development and customization – we had decided that will be the best approach for our solution.

The iPortal is a customized version of Liferay Portal, offering only those portlets that are needed in our solution, portlets such as: calendar, message board, news and announcements, file and document management, custom company public and private space with the possibility for each registered user to create its custom space and so on.

For collaboration practices and in order to complete our solution we add certain portlets, below described:

The chat portlet was replaced by a custom and original developed portlet – a web-based Skype “clone” (the Skype portlet). Through this portlet we provided features such as:

  • skype-to-skype calls
  • chat
  • chat conferences
  • voice conferences
  • user profile ( name, position, company and e-mail address)
  • user skype status on the web (if this is made public)

The users are synchronized with those registered in iPortal and this portlet it is made available only for those logged in users and shown automatically in the company customized space.

This portlet interact with the Skype installation from the user/customer computer. If the skype is not installed a popup containing the official Skype page is automatically shown.

Other original and custom develop portlet is the Notes portlet. This is made available also just for the logged in users and is personal for each user.

The Notes portlets offers the possibility to create, edit, delete and visualize personal notes.

In order to integrate the company projects and to have full interactivity with our customers and employees we integrate also an original portlet, the Project Repository and for offering online documentation to our products we integrate the XWiki as replacement to the provided Wiki.

The Project Repository it is a portlet that let the project managers to create, edit and delete projects and assign resources (human resources) to them.

At project creation, the application propagates this event to all registered applications. When a project it is created its corresponding project (xwiki space) it is automatically created in xwiki. After creation the xwiki space contains only those documents inherited from previously defined template.

For a certain product to be well build the relation between customer and company must be very thigh and things such real-time suggestions, specifications and modifications are vital in building process. In the second plan, developers, possible from different geographical areas, must have online access to project specifications and documentations.

These features provided by Project Repository sustain the globalization and extreme development and creates a stronger connection between customers, suppliers and employees of a certain company.

As a replacement for mail portlet, we integrate the Domino Lotus mail system.

Other great challenge in this project was to provide a decision-making solution full integrated with iPortal. Having an already developed solution that supports decision-making, the iGDSS (Group Decision Support System) the next step was the integration with iPortal.

iGDSS is a web-based application that provides a wide range of tools that supports decision-making practices.

The biggest challenge in this project was the applications integration with iPortal, providing SSO, projects synchronization, identities management and a secure environment.

This challenge was solved by developing an original framework, iSecurity, which offers SSO and identity management – users, groups, role, permissions management.

iSecurity – is a mature, original java-based framework build upon server-client architecture offering management services, SSO capabilities that replaces the ones provided by Liferay Portal, custom directory connectors and a secure environment.

Through webservices all the provided services are made available, fact that allows different client implementations to be accepted. So the iSecurity server can very well communicate with a .Net, PhP or Java clients – feature that gives great development flexibility.

Having the iSecurity framework developed the iPortal and additional developed portlets/applications are full integrated with it creating a mature, enterprise collaborative solution for customers, suppliers and employees.

 

Conclusion

The iPortal concept and technology has reduced the time and expense of new product development as well as provided the ability to have 24×7 communications with customers on new product features and status. Being an enterprise solution and integrated with iSecurity the portal also provides highly secure environment so confidentiality and privacy can be maintained.

The goal for this project, therefore, was to find and deliver as much information as possible to those who needed to make the daily decisions that are part of running any business. We had to provide that information in a collaborative environment that would provide real-time customer, supplier or employee metrics and other information to desk tops, laptops, and PDA’s so decisions could be made with the greatest amount of knowledge and wisdom.

Through iPortal both the manufacturer and their customers now have better visibility into what and how their businesses are doing. They can check at any time to determine the state of their products.

Manufacturers can keep track of equipment quality and earmark those models that are performing well and those that are not. The equipment users can monitor the production; make marketing or pricing adjustments to meet consumer demand, and plan replenishment.

 References

 [1] Rezayat M. The Enterprise Web Portal for life-cycle support,

CAD, 32 (2), 2000, pp. 85-96

[2] Pham DT, Dimov SS and Tsaneva DK. Enterprise Collaborative Portal for Business Process Modelling. Proc. of Int. Conf. on Perf. Meas., Benchm. and Best Pract. in New Economy, Univ. of Minho, Braga, Portugal, 2003, pp. 517 – 523

[3] Liferay Enterprise Portal, www.liferay.com/home/index.jsp ( accessed on August 1, 2008, at 10 PM).

[4] Wiley - Professional Portal Development with Open Source Tools (Java Portlet API, Lucene, James, Slide), W. Clay Richardson, Donald Avondolio, Joe Vitale, Peter Len and Kevin T. Smith, 2004

 

We are back from Munchen

Posted in News by bogdana on the October 30th, 2007

For our colleagues and business partners, some impressions from the recent Systems fair in Munchen… (more…)

Tip on using Pandion messenger: How to send a message to more contacts simultaneously

Posted in News by bogdana on the October 18th, 2007

 

I’m writing this on the suggestion of Marius, who used to use the server for sending messages to everybody in the company. For those of you who don’t know Marius, it is very rare that anybody has a tip for himJ

(more…)

ExpDB – an innovative knowledge management tool

Posted in Java, MySQL by Ciprian Radu on the October 2nd, 2007

What is ExpDB

ExpDB (a.k.a. Experience DB) is a software system which consists in a database of experiences, different situations in general, that are thought at a higher abstract level, the purpose being to manage diverse knowledge, in a controlled and organized manner. It allows persisting knowledge by categorizing it and by filtering it, based on its relevance. Thus, ExpDB builds a database meant to include only the most relevant information.

(more…)

Pictures from Goran Bregovic concert

Posted in Entertainment by Marius Staicu on the August 3rd, 2007

You can find some pictures from Goran Bregovic’s concert in Sibiu on my personal blog.

Yahoo Messenger login troubles

Posted in Windows by Marius Staicu on the July 30th, 2007

If you are unable to use the YM client with the new gateway configuration (through proxy) it is very likely you have the issue (and solution) described here.

Oracle issue on virtual machine

Posted in Oracle by Eugen Cojocaru on the July 30th, 2007

One of my latest tasks was to install an application to a virtual machine, (running on a Vmware server). This application, built on client-server architecture, use an Oracle database so i had to install Oracle 10g and import the specific database for the application.

Installing Oracle and make it work seemed to be an easy task, theoretically, but it proved to be a real problem, practically. I had installed Oracle on VM (virtual machine) just as i would on my computer and at first everything worked just fine; the application was running to it’s normal parameters. The issues appear after restarting Oracle server, the database was not accessible anymore: “ORA-12505: TNS:listener could not resolve SID given in connect descriptor”.
(more…)

Linux and gaming

Posted in Linux by Marius Staicu on the July 28th, 2007

A new article on micahville blog presents a list of 17 games who do not need WINE, can be open or closed source, and of course, run on Linux. The games are (in no particular order):

- Neverball
- Frets on Fire
- Second Life
- Frozen Bubble
- Nexuiz
- Stepmania
- Tremulous
- irrlamb
- War§ow (Warsow)
- Scorched 3D
- AssaultCube
- FlightGear
- World of Padman
- Neverputt
- TrueCombat: Elite
- Planeshift
- Enemy Territory: Quake Wars

For screenshots and brief details please read the full article.

Next Page »