how to develop application like LifeRay Control panel - liferay

I want to develop an application like LifeRay control panel which has right navigation menu and a page that renders the clicked menu.
My question is how to develop at for example as one portlet or multi portlet taking into considaration (portlet communication)? and how to handle navigation inside portlet?
I'm using Icefaces(JSF) for portlet development and there is a section repeated for other pages(template)
Is there an example in liferay source for this?

Can't you just adjust a theme to have the navigation at the side as opposed to the default (at the top)? This way you'd be developing a plain portal application without any special magic - probably the most intuitive way to go.
Also, others will likely be able to quickly understand what you did and are able to add functionality.

Related

LIFERAY 7.2 GA1 Theme: My custom scss style impacts the default Liferay Menu ( in the left hand side and in the top )

I have a problem when developing a new Liferay 7.2 theme based on gradle as a build tool, the problem is when I added a custom css in the file _custom.scss in order to customize some styles within my theme, the default liferay admin Control panel and Menu( in the left hand side and in the top ) are looking very bad and my theme looks not Responsive(I mean the style and there are buttons which are not displayed anymore example the toast-animation-btn is not visible ).
From my perspective, maybe my custom css ( because I have a large css file it is kind of Migration from 6.2 --> 7.2) is impacting the default liferay portal things --> this is just my opinion and maybe I could be wrong...
Otherwise, if my reasoning is true please How could prevent my styles to impact liferay default menu?
A whole lot of things have changed between 6.2 and 7.x html markup. I would strongly advise testing each small css feature independently and rewrite the one that is not compatible anymore. By feature I mean all css code related to a specific portlet or section of your template.
Also the theme template themselves have changed a lot and are not strictly compatible. In this case I'd suggest starting with a new theme templates and bring back one by one the customization, you made in it. Also look at the new content page feature: https://portal.liferay.dev/docs/7-2/user/-/knowledge_base/u/creating-content-pages You might be able to replace many theme customization with them in a more maintainable and web admin-friendly way.
That being said if you just want to isolate you sass code from impacting the admin menu, in the default template there is no quick way to identify the content section of the page (well, there is #wrapper and #content, but they are too generic and present in the admin page as well) I'd suggest that you add an id at the right level of your own template. After that just embed all your sass code inside that id.

Use a web content portlet

I am using web content portlet to develop a portal.
Each page has common theme (which includes header and footer) and we have many portlets placed on each page.
One of the portlet on right side is menu which is common on many pages.
I could have kept it as a part of theme but the menu can be subject to change in future and the end user who will be handling the portal is non-developer.
So if they want to change some data in that menu portlet, they will have to change it on every page which leads to duplication of effort.
Like I said, since end user is a non-developer, I cannot make that portlet part of the theme.
So is there any way where one web content portlet be created once and used on many pages?
You can embed web-content in theme as per link
Here articleId as in above link, you can set in theme-setting, refer to link
I have found a solution right now. If anyone has abetter solution than this..they are most welcome. I would like people to share alternate and better solutions
I am using Liferay 6.2
What I did was added a new web content display portlet which like I said created a new blank web content display portlet.
So my usual method was to add content to this portlet. THis was the method I followed. You can click on Select Web Content button and then select the already created portal from the list and you are done. NO need to create duplicate portlets

Export Web Content structures and templates in Liferay

Is it possible to export only Web Content structures and/or templates?
Yes, for the most part anyway. If you go into the Control Panel then go into Web Content, you should notice a wrench icon for the portlet. When you go into Export/Import, you can uncheck everything except for the Structures, Templates, and Feeds box. I haven't checked to see if they fixed it yet, but I recall this did not work in 6.0 in the Global community.

Master View in Iphone

I had asp.net back ground and now developing apps for Iphone. I have been wondering is there some thing master view or theme for app as we had master pages for website designing in asp dotnet which make the whole website design generic
thanks
No you really don't have anything similar. You do get two great application templates, the Tab based view or the Navigation based. In the navigation controller certain things follow each view like the style of the navigation bar but that is it.
If you want to use something like PhoneGap and drop that into XCode then use a web based UI framework like jqTouch, then you can have a template :) but that is a completely different application model.
Master View? I'm not sure what you mean by this. You have a Window (UIWindow) that you add Views to (UIView). You only have one window, but are free to have as many Views as you like.
So it depends what you want to add, for example i have a banner that i want at the tope of evert screen. I added the ImageView to the window and scaled the Views so they left the top of the window showing.
If you wanted to add some default behaviour to your Views and or add an image view to every view. You could simply subclass UIViewController and go from there?
If you give a touch more detail about what you want to achieve I'll gladly go into more detail.

Best practice in building outlook layout in asp.NET & telerik radpanelbar as a page arch?

I am working on enterprise apps, I am using telerik controls to make life easier ;)
The layout of my application on the left radpanelbar used for the navigation menu, on the right side is the content.
I want to make this navigation menu to navigate to a usercontrol (.ascx file) instead of a page (.aspx file)
The navigation control is in the master page.
I have multiple reasons to make this kind of navigation:
I have many user controls, and do not want to make pages (.aspx) as many user controls as I have.
Which is the most important I want to make this happen on the fly with out post pack (AJAX).
So please could any one tell about the best practice to do it.
One possible solution might be to load the navigation user control programmatically via AJAX when the user clicks a panelbar item. Still positioning this user control on the master page and loading it from the content page is quite odd to me and I personally do not approve it as a good architectural decision.

Resources