Liferay 6.2 - No Invitation mail sent from Calendar CE Portlet - calendar

I see a strange behavior with Calendar CE portlet. I just want to know what is the reason behind it.
My Calendar CE portlet (one that comes with liferay 6.2 GA3 package) was working fine but suddenly it stopped sending email notifications for Invitation(RSVP link).No errors shown in console. then after a while i discovered that using the below code in Portal-ext.properties causes this issue.
# Set whether or not private layouts are enabled. Set whether or not private
# layouts should be auto created if a user has no private layouts. If
# private layouts are not enabled, then the property
# "layout.user.private.layouts.auto.create" is assumed to be false.
layout.user.private.layouts.enabled=false
layout.user.private.layouts.auto.create=false
# Set whether or not public layouts are enabled. Set whether or not public
# layouts should be auto created if a user has no public layouts. If public
# layouts are not enabled, then the property
# "layout.user.public.layouts.auto.create" is assumed to be false.
layout.user.public.layouts.enabled=false
layout.user.public.layouts.auto.create=false
I use the above code just to disable My Profile & My Dashboard buttons in dropdown(TOP Right corner). and to disable private pages aswell.
I tested this. whenever i use the above code in portal-ext.properties Calendar can't send any emails. All other email functionalities are working same.
Please help me to fix this issue.
REF: https://www.liferay.com/community/forums/-/message_boards/message/54631418
Thanks.

After some investigation, I think I can boil down the issue to the following lines in com.liferay.calendar.notification.NotificationTemplate(Lines 182-184):
PortletURL portletURL = PortletURLFactoryUtil.create(
serviceContext.getRequest(), PortletKeys.CALENDAR,
themeDisplay.getPlid(), ActionRequest.RENDER_PHASE);
What's happening here? Well, Liferay want's to send a Link to the Calendar in the Notification Email. To do so, they have to evaluate where the portlet lives. (Meaning, where you put it ;) ) As the User does not have any pages (and therefore no Calendar portlet on a page) this method is about to fail. To be honest, I can't offer you a solution how to tackle the Problem, but at least we have an idea, WHY this is happening. You could start with some try catch blocks and some debug output to investigate further if that really IS the root of the Problem. But I am quite confident that these things correlate.

Related

Using intermediate appPage xpages mobile

I have a simple issue, but I don´t how to solve the problem.
Using XPages Mobile controls, I have a document with some actions, and one of them is "Send to Signature".
The workflow is: select the signer of document (from names) and send to signature.
I need to show for the current user, one field to select the signer (I already have a field with typeahead funcion to select him).
I would like to use an intermediate appPage for this, but when I´m in the new appPage, the currentDocument is gone.
How can I use the same document (opening from a dataView) for solve this problem?
Can I navigate between appPages (inside SinglePageApp) using the currentDocument??
Thanks in advance
It might be worth looking at Mobile Value Picker on OpenNTF. The mobile prefix may need setting in XSP Properties to "Mobile_" (or it could be that I messed around with the development version after the last upload). But it gives code to have a button / link to go to a subsequent appPage to select values from a list. It starts from a DataView, to a document, to the selection page.
The project has not changed for a couple of years, but I've just tested it in Chrome setting user agent to Android and it still seems to work fine on 9.0.1 FP2.

Unable to call a specific form from a button in codenameone

I have a form designed in GUI designer. I call it "Register" to collect information for new member registration. Some how whenever I try to open this form using showForm("Register",null), I get this error -
java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:394)
at com.codename1.ui.util.UIBuilder.getFormState(UIBuilder.java:1711)
at com.codename1.ui.util.UIBuilder.showForm(UIBuilder.java:2195)
at com.codename1.ui.util.UIBuilder.showForm(UIBuilder.java:2263)
I have not been able to find any reason for this. Is Register a reserved name? What other thing can cause this? Please help, I am stuck.
You seem to be using an older version of Codename One, you need to update your client libraries in the preferences.
This can happen if you showed your current form manually (not via the GUI builder), there is a bug in the current version where showForm() tries to get the name of the currently showing form and doesn't check for null. To workaround this just use setName() on the current form or make sure that all your forms are shown via the GUI builder.

WP7 WebBrowserTask without url entry textbox

This might not be possible but I thought I'd check with everyone.
Is it possible to load a WebBrowserTask on WP7 but to have the url entry box collapsed? I'd also like to set IsHitVisble to false?
The reason I want to do this is to load a url (through databinding) but ensure that the user can't browse to other links on the page. I also need to keep the phones share control in the tool bar so I can't just use a webbrowser control and set the source to the url.
Does anyone have any ideas?
Not possible. You can use a WebBrowserControl inside your own app, but it's not recommended.
Basically such odd/weird limitations as this, don't belong in any modern day craftsmanship. And thus why it isn't a possibility (thanks Microsoft!)

Salesforce: Adding items to 'Personal Setup' and 'Customize'

I am writing a simple salesforce app that requires app-level and user-level configuration. I have created custom objects for these settings, but cannot figure out how to add links to the Setup page (Personal Setup and Customize) so that the settings can be managed.
Quite a lot of research, and a question on a salesforce board, have left me none the wiser. I have seen a couple of scripts on the web that hack the setup sidebar with javascript (eg http://userscripts.org/scripts/show/95361) ... but this can't be the right way to do it surely?
Thanks
Jim
You are unable to do this without hacking because Salesforce want it so that you don't require over-explicit setup of any app you create - they want you to make it data-independent and in fact it may fail a security review if it is data dependent. It will also likely cause you headaches in correctly unit testing the app.
My suggestion would be to have a set of custom pages which are linked to on the home page for a user which display if they have no current values (so the first thing they see on the home page when they login for the first time is a "Hey, before you use this app you need to do some configuration through this handy wizard" and then block access to other areas of the app (i.e. display warning messages on other pages) if the app has not had this data setup.
That way you are not hacking and are providing a nice user experience around the extra setup.
Paul
DO you just want to add a new TAB on the top menu that links to the Edit page for your new sObject?
If so:
Goto setup https://cs3.salesforce.com/ui/setup/Setup
Click on 'Create' > 'Tab'
Pick the sObject you want the tab edit, the click next until you save the new tab.
There is no supported way to augment the Setup menu.
You should probably be using Custom Settings for what you are describing - they were designed for app-level and user-level configuration, and are available from Setup.
Otherwise, if it really is custom setup that requires fancier logic / UI / etc, you may want to do what many SFDC ISV's do and ship your app with its own configuration tab that's hidden, and/or custom VF page that manages app settings.

How can I disable the Publish button in EPiServer's content editor?

I have an EPiServer project which is using the sequential workflow to validate content changes. This works fine, however we have a slight issue where content reviewers are just clicking Publish when they are happy with an editor's work. What they should be doing is using the workflow task window and indicating their approval through that.
To enforce this behaviour I would like to disable the Publish button in the content editor under certain circumstances (i.e. when there is an outstanding workflow task linked to the current page).
Does anyone have any ideas how I can do this, or even an alternative solution to the problem altogether?
Actually, I think you may want to revisit your workflow logic.
If a user with publishing rights publishes a page: that should be considered an approval. You could easily hook up to the Published event to see if the page is part of a currently running workflow.

Resources