I would realize a J2EE Web application based on JSP,Struts and eventually Spring for transaction management and iBatis for data access in my opinion very complex.
The application presents search, list and detail pages, and the information visibility depends on the user.
A web application master will set the information's grants (hidden, readonly, read and write) for each entity managed inside the application.
Now there is the complication: each page (search, list, detail) must be built by the web application master with a configurator/builder directy inside the same web application on the server!
For example, for a detail page:
1) each tab must be defined and named: so I can't develop a static number of tabs, in which I managed a fixed set of data inside each of these tabs. I must develop a page with all the entity's fields and all the rules, and then the web application master set which informations must be available for each tab from the same page detail developed. The tabs in which there's a list could be displayed or not, and the data in the list follow the grants setted by the web application master.
2) the web application mastercan specify all the data inside a tab: every tab will be built indicating which fields show or edit if the user has the grants. For example for entity1, we could define a detail page for user1 with field1, field3 and field2, while for user2 we could define the detail page with tab1 within field2, and a second tab, tab2 within field3.
3) the web application master can specify the layout inside the tab, indicating the pixel position inside the tab, or the application could provide a visual tool, in HTML, in which there is a design area, and in which the web application master clicks in a point and positions in it an information, and even specify the style's properties (color, font, background,...)
4) the application must provide to the users the possibility to define new fields for an entity, and must manage them adding in whichever tab for that entity. For such informations will be possible only management without controls except the controls of type (data, int, money, ...)
In my opinion point 3 I think it's part of a report tool and not of detail visualization; moreover all the styles of a page must be personalized, not only the informations contained inside the tabs. I think the only solution in a highly configurabile application is to show the search/detail fields 1 for row, and not with a positioning based on pixel coordinates or positioning with tool RAD.
I ask to you:
- is realizable this kind of application?
- ...any suggestion to supply for proceeding?
Honestly my ideas are to realize points 1 and 2; I suppose point 3 is not feasible and that the result of the styles customization is little appropriated; for point 4 I suppose to simplify the management of new data by managing all the new ones inside the same tab, or I will have to think another possible solution...
Thanks to everyone has interesting ideas or suggestions to give.