How to add menu items to the Communities menu in IBM Connections? - ibm-connections

I wish to add a new menu item/link (e.g. "Stack Overflow") at the end of the menu in the screenshot below.
The new link URL would end in the community_uuid e.g. http://example.stackoverflow.com/some-page#community_uuid
Is there any good documentation available to show how this is done?

Immediately I thought of three things:
1 - Custom CSS for a community, so you could somehow add/change or maybe create a landing spot for a dom manipulation event which adds it.
In order to change the CSS, You should look at:
http://infolib.lotus.com/resources/oneui/3.0/docPublic/components/menu.htm
It's the navbar role.
In a folder such as /local/con/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/conServerCell/Communities.ear/comm.web.war/nav/common/styles/orangeTheme/
2 -
You may also want to look at /local/con/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/conServerCell/LotusConnections-config/widgets-config.xml
specifically
you could add a StackOverflow widget, when loaded it automatically opens up a new window, and transfers the person back to the previous page. ... a little bit of a kluge...
3 - Look for /local/con/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/conServerCell/Communities.ear/comm.web.war/nav/templates/page.jsp
find the line
<div class="lotusMenu" id="lotusMenu" style="display:none;" role="navigation" aria-label="Main navigation"><div class="lotusBottomCorner"><div class="lotusInner">
<div id="lotusMenuTree"></div>
</div></div></div>
You could modify the very end to add some custom link for you.
Just some quick thoughts...

Related

Liferay 7.4: How to create a configurable web content article footer?

I need to create a footer in a Liferay-project, that can be modified from the instance. I've been trying various things in my footer-code and instance, but haven't figured out how to do it.
Any content inside the footer can't be touched and in page edit mode, Liferay says "This area is defined by the theme. You can change the theme settings by clicking more in the Page Design Options panel on the sidebar". I didn't get any help from Page Design Options either. Is there a way to do this?
I found the answer after hours of work and searching and want to share it with everyone here. The working solution was found here, in one of the comments.
You need to write some code (I use Freemarker/ftl) and then configure the site pages a bit, but here's how it works:
Put a new setting inside liferay-look-and-feel.xml:
<settings>
<setting key="footer-article-id" value="" configurable="true" type="text"/>
</settings>
This will create a new configurable option in page options, allowing you to input the ID of the web content.
NOTE: <theme> might get underlined red "The content of element type "theme" must match". This still prints everything correctly, but the tags are given in a wrong order. Inside my <theme>, I have <template-extension>, <settings> and <portlet-decorator> in that order, which removes the error.
Assign a variable in init_custom.ftl (cleans up the footer-code):
<#assign footer_article_id = getterUtil.getString(themeDisplay.getThemeSetting("footer-article-id"))/>
And then add this to the footer-code, to create the spot, where the content is visible:
<#liferay_journal["journal-article"]
articleId=footer_article_id
groupId=page_group.groupId
/>
After this, everything should be ready code-wise.
Create a Web Content for your footer. In the creation screen, there's an ID on the panel on the right. Publish your content and grab the ID.
Finally, go to Site Builder --> Pages and click on configuration from the top bar (behind three dots). You should see the input field like in the first picture: That's where you add the ID.
Save the settings and your web content should now be in the footer.
Hope this helps!

How Can i add the customized section to home page in broadleaf

Hi I am new to broadleaf and i want to add the customized products to home page of broadleaf like the home page will load two cateogries of products at at time for example the home will want to load top sale products and hot sauces.
Please help me to Solve the issue.
Thanks in Advance
First off, i am not that experienced with broadleaf either, but my background has made it pretty easy for me to wrap my head around ( i think), and there are a quite a few different ways to do this and it really depends on how you ultimately like to maintain the lists, and your experience level.
As you have said you are just getting started, i'll give you what i think is the most simple way to do this.
First, assuming you are working from a recent version of the demo site. In this case, the home page is actually just a category with a custom template. If you look in the Admin app at the "Home" category and select the "Products" tab, you will see a list of the 4 Hot Sauces that are displayed on the home page in the Demo store.
The important thing to note here is that it is specifically not the "Hot Sauces" category, it is a specific subset that is selected in the admin app, giving you control of the not only the items displayed but the number of items displayed.
If you have seen the code in the homepage html template, you will see something like:
<div class="row">
<h3 class="text-center">
The Heat Clinic's Top Selling Sauces
</h3>
<th:block th:if="${products}" id="products" class="group" th:each="product : ${products}" th:object="${product}" >
<div class="col-sm-6 col-md-3" th:if="${product.isActive()}"
th:include="catalog/partials/productListItem">
</div>
</th:block>
</div>
This is the code in the demo site that is displaying the list of hot sauces on the home page. The CategoryController retrieved ths list of products for the category and put them in the Model.
Now, the absoloute easiest way to add a second list of products to the home page is use the same technique. In Admin look at the "Marketing" tab, you will see the same list of 4 products in the "Featured Products" section. As far as I am aware this is not actually being used in the new versions of the demo site. Note that there is also the upsell and xsell product lists, but for this purpose i am just going to use the Featured Products list. I suggest you change these to some other products now just so you can see the changes to the home page are pulling the correct list later.
In homepage.html insert something like the following code (it's similar to the code you looked at above):
<div class="row">
<h3 class="text-center">Top Selling Products</h3>
<th:block th:if="${category?.featuredProducts}" id="featuredProducts" class="group" th:each="featuredProduct : ${category.featuredProducts}">
<div class="col-sm-6 col-md-3" th:with="product=${featuredProduct.product}" th:object="${featuredProduct.product}"
th:include="catalog/partials/productListItem">
</div>
</th:block>
</div>
And your done.
This is certainly not the only way, or even the best way, unless your definition of best is "It takes 5 minutes and 6 lines of HTML".
At some point, depending on how your requirements pan out, you may end up creating a specific HomepageController, this approach should still work in that case, without customising the admin interface, as long as the data is still put in the model by the controller.
FYI: The homepage template is located at site/src/main/resources/webTemplates/layout/homepage.html

Optimize Visualforce Page for Salesforce1

I created a simple visualforce page to override the standard salesforce.com page for "New" and "Edit" for a Custom Object.
It is pretty simple, it was just because in the standard salesforce.com page the textarea was not wide enough, since the form is splitted in two columns. (Or am I wrong? Is there a way to accomplish that without creating a custom visualforce page?)
Well, here is the code:
<apex:page standardController="Object__c">
<apex:sectionHeader title="Object Edit" subtitle="{!if(Object__c.id==null,'New Object',Object__c.Name)}"/>
<apex:form >
<apex:pageBlock title="Object Edit" mode="edit">
<apex:pageblockbuttons >
<apex:commandbutton action="{!save}" value="Save"/>
<apex:commandbutton action="{!cancel}" value="Cancel"/>
</apex:pageblockbuttons>
<apex:pagemessages />
<apex:pageblockSection title="Basics" columns="2">
<apex:inputField value="{!Object__c.Field1__c}"/>
... more fields
</apex:pageblockSection>
<apex:pageblocksection title="Details" columns="1">
<apex:inputField value="{!Object__c.Field10__c}"/>
... more fields
</apex:pageblocksection>
</apex:pageBlock>
</apex:form>
</apex:page>
Ok, the page looks good on force.com, but when I open it from within the salesforce1-App on my iPad it has the same style like on force.com and not the nice styling like the other (standard salesforce.com page-)forms in the salesforce1-App?
To get the styling right, consider using the Mobile Design Templates: https://developer.salesforce.com/en/mobile/services/mobile-templates/templates-faq.
I think you would also benefit from reviewing this slide deck: http://www.slideshare.net/developerforce/visualforce-in-salesforce1-1-1. It specifically asks developers to avoid using pageBlocks in Salesforce1. The author of those slides is Sandeep Bhanot, who, in general, is a great person to connect to on Twitter/Youtube, etc, for all your Salesforce1 needs.
You can have textarea span 2 columns in std page layout by putting it to separate section and setting columns to 1. Just hover over the section header, click the wrench icon on the right and you should get a popup like this:
I'd say for such change it's bit of an overkill to go full VF page route. But if you really need it or my trick won't work - there are few questions on Salesforce-dedicated site that might be a good start for you:
https://salesforce.stackexchange.com/questions/22290/sfdc-styleguide-usage-questions-in-salesforce1
https://salesforce.stackexchange.com/questions/25541/salesforce1-look-feel-in-visualforce
https://salesforce.stackexchange.com/questions/27788/how-to-do-visualforce-page-with-the-same-look-feel-as-salesforce1
https://salesforce.stackexchange.com/questions/37111/mobile-view-one-one-app-differs-from-native-salesforce1-view (not really related but it's my answer so :P Seriously though - the presentations I've linked to in that answer really helped me to kick off my development)

Any way of updating all links in spry menu bar in all pages?

I am currently designing an e-learning course for a college project. I am using a horizontal spry menu bar. I only have all updated links to other pages on the homepage. All of the rest are empty. I will finish up having more than 140 pages so is there anyway I can update the links from the homepage to work on all pages?
It would save me a huge amount of time.
Thanks.
There are two ways.
The first, and best, way is to call the menu code as some form of include on all pages of your site. You can put the ul structure of the menu system in a separate HTML file and use SSI or any server side language to call it as an include. If you don't have any access to SSI or a server side language, you can make the menu code a Dreamweaver Library Item and call it that way. The benefit here is the menu code exists in one place. Any update to the code will update throughout the site.
The second way is to use Dreamweaver's site-wide find and replace feature to make changes to the menu code on every page of your site.

Solpart menu is ripping my soul apart!!! Not opening up in DNN

Please, someone tell me if there is a replacement for the rubbish Solpart menu, the menu with the small arrow to administer a module in DotNetNuke?
I have been using DNN for some time now and I would love to know if there is not a better way to get this menu working. I cannot believe DNN would let something as buggy as that out!
Thanks
You can use any menu for that drop down. You'd just swap out the solpartmenu for the one you want in the container you create. Here is a blog post outlining some of the menu options available. I'd suggest taking a look into each one of these and see which would be a good fit for you.
New Navigation Options in DotNetNuke 5.x Designers Should Know
Below is one (slightly updated) example from How to use RadMenu instead of the default solpartactions menu
Open an existing container for edit (a Default DNN container will work fine).
Register the RADMENUACTIONS tag by adding the following line of code: <%# Register TagPrefix="dnn" TagName="RADMENUACTIONS" Src="~/DesktopModules/RadMenu/RadMenuActions.ascx" %>
Replace <dnn:ACTIONS ... /> with <dnn:RADMENUACTIONS ... />
Set additional properties for RadMenu if desired. For example you can set the Skin property: <dnn:RADMENUACTIONS runat="server" id="dnnRADMENUACTIONS" Skin="CssGreen" />

Resources