UML (or similar) for JSF/xhtml - jsf

Sort of a new area for me, but the project I'm working on involves a lot of .xhtml files that include JSF and Javascript (lots of <ui:include>s). I'm hoping to find an eclipse plugin or other piece of software that will allow me to view and navigate through these files in a flowchart/UML-like diagram.
Searches have turned up lots of plugins, but it isn't very clear if they'll do what I'm looking for. So far the ones I've tried have not. Thanks for any information!

You can represent your files in UML using standard UML deployment elements and diagrams. You can define files as artifacts with specific file extension and use deployment relationship to depict to which nodes are your files deployed. Nodes could be executable environments like web server, object container etc. You can create informative network with precise navigation this way. If you also need to define structure of XML or HTML tags, try to find special UML Profile rather than plugin. (for example UML profile for XML, UML Profile for HTML etc.)

Related

Sparx Enterprise Architetc Pattern Integration with a Custom Toolbox

I have a problem in adding a pattern in Sparx Enterprise Architect.
I created a diagram and then saved as a pattern as is shown in the following figure.
In addition, I designed my own custom toolbox using MDG technology, and I want to integrate that diagram with my toolbox to be something similar to the following figure
I just need to integrate that pattern (XML file) with my custom toolbox in MDG technology.
Pretty much straight forward. Once you create your MDG
check the Patterns box. Now the next after the profiles will ask for your patterns:
Locate your pattern files (best they were saved in a separate directory) and include your pattern(s).
Your MDG should now include the added pattern(s).
To refer the pattern in a toolbox you need to add <profileID>::<patternName>(UMLPattern) manually where appropriate.

LIFERAY PROJECTS ?Should we create diffrent projects for every section?

I am about to develop one liferay projects and have some query regarding that as follows..
should we create a different portlet project per section or we should combine all section in single portlet project?
we have a different section like "Campaign","Advertise" etc now each section is interconnected,
i mean to say in i would be able to display list of advertise mapped with particular portlet. can please guide me?
I think by section you mean Categories in the Add more section that appears in the dockbar at top-left corner of the portal page.
It is not mandatory to create different portlet projects that go in different categories. It is purely your choice keeping in mind future management.
Following are some considerations to keep all the portlets in one project:
If the portlets are going to use each others services
The portlets will depend on each other for showing the same or similar data, like take for eg: Documents & Media portlet and Documents & Media display portlet would go in one project.
I would say to keep in mind the Software Design Principle of Cohesion and Loose coupling.
This is what I can think at the moment. Hope this helps you in taking your own decision.
Try and put all Portlets under one Project. So that deploy is easy because basically the config files (like, liferay-portlet.tld, liferay-portlet-ext.tld) will be same.
You might wanna make different projects for code that's not about portlets.
I mean different project for Theme, or UI class, different one under Services/Server Side Java code, different for database config/connections etc.
All portlets could go under one project for above mentioned reason.
And you can still have separate space / loose coupling inside this one big portlet project because your (javascript/whichever tech you're using) code will be in separate folders.
About your question of displaying a particular list inside of the portlet, I guess it depends on how you want to code inside that portlet to show your list.
I agree with Prakash K.
Moreover, you should need to have two portlets in the same project (and with "project", I hear "war") if you need to share private portletsessions. So, as Prakash said, if you need interactions between 2 portlets, use one single project.
You can find more information about this particular point in this great blog (not mine): Liferay session sharing demystified

Packaging Document Structures and templates in Liferay plugin wars

Is there a way to include Liferay document or web-content structures and templates in portlet plugin war files and have them become available to users like the standard ones are?
The use-case would be that you are writing a portlet that takes advantage of a custom Document Library structure that you are providing. But you don't want to distribute this structure as a separate thing with its own installation procedure (such as providing a LAR just for the structure), you just want your plugin to make the custom structure available whenever it is installed.
You can achieve your goal by adding a portal.properties file to the WEB-INF/classes directory of your portlet. This file should contain the following line:
application.startup.events=com.yourcompany.whatever.YourCustomStartupAction
This custom startup action should be a class that extends from com.liferay.portal.kernel.events.SimpleAction. In it you will be able to leverage all the Liferay service utils to do things in Liferay at the moment your portlet is started. The class you need to use to work with the Liferay document library specifically is DLAppLocalServiceUtil. This util class has all the necessary methods to work with files/folders in the document library.
For web content related stuff, such as structures, templates and articles, just use JournalStructureLocalServiceUtil, JournalTemplateLocalServiceUtil and JournalArticleLocalServiceUtil.
I hope i got your question right ;)
You could create the folder Structure via the DLFolderService when the portlet is deployed.
To run a method when the Server starts you will have to use the CustomAction i think, check it out : here

Creating a Visio Repository

This is my first question, so forgive me if it has been asked before.
I have a lot of diagrams that I created with Microsoft Visio 2007, and would like to share them with other developers. What would be the easiest way to do that? By sharing I mean being able to view the diagram, ideally without having Visio 2007 installed, and making change requests.
Can I do this with Sharepoint? Can I use the SVG export?
Any recommendations would be appreciated.
There is a visio plugin for internet explorer which users can install, that's probably your best solution. To avoid users having to install it you would have to export the files in some image format. You can then dump the files in a SharePoint repository; in a shared folder on your network or upload them to a website.
Visio has some good export options available...You can create an HTML/Javascript export, though I've traditionally just exported GIF files (which is a nice fast export if you're automating a batch export), and the text stays readable (compared to jpeg) with relatively small file sizes (compared to bmp).
Though if speed/ease of use/automate-ability is not much of an issue I like to just use PDF.
You can also export your visio model as an xmi file and open it with other (free) UML tools as ArgoUML (but first, you need to transform the xmi file, e.g. using this free service http://modeling-languages.com/content/xmi2-tool-exchanging-uml-models-among-case-tools, since the XMI standard is not as standard as it should be)
This way, others cannot only visualize the file but also modify it. Caveat: the graphical layout organization of your model will be lost, only the information about the content is stored in the file

What are the benefits of using namespaces in webform pages?

I understand the pros of using namespaces within the actual application layers but when it comes to the front tier, I am not so sure.
My project is a Website (not WebApplication) and I get all sorts of problems (missing references, for one) when I try and include "namespaced" user controls. Despite explicit declarations in web.config under system.web - pages - controls - add.
When it comes to the actual views, the webforms: when you create a new page, Visual Studio creates the codebehind classname from the path where you chose to create the file. So most times, I'd say that class names will be unique. If you move around pages, then it will become strange to see say Start_DefaultPage but under another sub folder.
To summarize: Is it recommended to put namespaces into the web tier? What are the pros and cons?
Yes. In the future, you may decide to include external libraries that (coincidentally) use the same class names, and you do not want to have a namespace collision, as you very well know can occur. In addition, you may have web applications in a virtual directory that will inherit the properties outlined in the parent web.config. You do not want to mess with namespace conflicts there, either. Generally speaking, it is just a good programming practice.
Your problem is that you are using a web site "project". Stop doing that, and you'll stop having these problems.
Web Sites are a mistake that Microsoft made. There's no need for you to make their mistake into your mistake.

Resources