Use auto-generated keys for Liferay Entities - liferay

For my custom service entities build using Service-builder I can use the identity-type in service.xml so that my custom entity's primary key generation is handled by the underlying databases.
Is there a way I can have Liferay's entities to also use database's auto-generation instead of using a custom Counter?
Note: Cross posted on Liferay forums.

Related

How is the ServiceStack "AllRoles" collection determined?

Trying to enable the ServiceStack Studio User Management utility to more easily manage the various users that access our APIs. It appears that to populate the roles dropdown, the User Management utility queries the following property:
[API_URL]/metadata/app.json -
{
...
"allRoles":["Admin","Employee","Manager"]
...
}
But I don't see how ServiceStack determines the list of allRoles for a given IAuthRepository.
The only way I've been able to add a role to the allRoles collection is by adding a decoration to one of my database operations:
[ValidateHasRole("ZZZ")]
Are there other ways to inform an IAuthRepository of what roles to expect?
For the purposes of determining the pre-populated list of Roles in ServiceStack Studio, ServiceStack shows all Roles defined within your Application, e.g. via the [ValidateHasRole] Declarative Type Validator or the [RequiredRole*] Authentication attributes.

Add new fields to create_account.jsp without custom fields functionality in Liferay

I want to add 15 new fields to my user account creation page in Liferay. How it is possible other than custom fields, expando tables? Because I know how to use custom fields. I have more fields so it will be difficult to manage. Through hook I want to add more fields to account creation page.
Fields are related to user.
Create one selectbox that will have list of organizations available in my application.
Create one selectbox that will have list of roles available in my application.
onclicking of save button that should redirect to 3rd party payment gateway. Once paid amount it will create account for that user.
After paid amount all the above fields need to add under extra table with related columns and maps to the user_ table with userId as a primary key.
assign that organization to the user which is selected above and similar for role also.
I am using Liferay 6.2. Please let me know if any one have any ideas!
Learn Java. A modification of the platform to the extent that you're mentioning won't work without knowing Java. You'll introduce all kinds of issues in your system.
Then there are two options:
Just implement a custom portlet that takes all the values that you want, saves them where you want and queues them in your payment system. Disable Liferay's "do-it-yourself-signup" and place your own links to the "create account" portlet. This will be easiest to maintain
Alternatively, override Liferay's JSP that's used for the "create account" UI as well as the action that's handling the data. The default implementation would save everything in Liferay's database - including custom fields. As you implement it yourself, you can do whatever you want with this data.

What is the Secondary Entity in the MS CRM Registration Tool?

When registering a plugin step with the registration tool, there is option for "Secondary Entity". What is a Secondary Entity, and in what scenario would a CRM developer can use this option?
Thanks
Secondary entity is used for SetRelated and RemoveRelated messages, otherwise it should be null.
Secondary entity is child is the related entity of primary entity. Secondary Entity should used only when you want to trigger plugin for an event requiring two entities like the "SetRelated" message.
Please have look here: Link

Is it always necessary to have companyID and groupID in Liferay Service Builder?

I'm developing a liferay portlet. I use Service Builder. The question is that do I have to use companyID and groupID in my entity fields? What should I do if I don't want to have these fields? If I don't use them how can I use resourceLocalService.addResources() method?
They are not required but they are convenient to have.
Liferay has many additional services available to you to use like permissions, users, document library. These services are almost always scoped to a portal instance, for example, Users are scoped to an instance which is tracked by companyId. Some are scoped to a group like document library.
So depending on what Liferay services you are planning to use and at what scope those services operate, it is convenient to have those values stored as well for easy lookup when you're calling those services you are using.
Notice that the DBA team didn’t specify these two foreign key fields in the tables, but you add them anyway. You do this because the DBAs didn’t know the internal workings of Liferay when they designed the table.
These fields are internal to Liferay and are used for context purposes in non-instanceable portlets.
CompanyId corresponds to the portal instance to which the user has navigated, and groupId corresponds to the community or organization to which the user has navigated.
Because you’ll use these field values as parameters in all your queries, the portlet will have different data in different portals, communities, and organizations.

Is there any way to use C# to create a form for an entity for CRM 2011?

There seems to be web services to create entity, fields, solution, global option set and many more within CRM 2011 SDK. However I don't see any web services to create a form for an entity. Anyone know any back door or ways to create a forms outside of CRM 2011 using C# or VB?
You'll have to spend some time looking at FormXml to fine-tune the look of your form(s), but you can programmatically manage your entity forms via the SystemForm entity.
FormXml is stored in the SystemForm entity. You can programmatically
retrieve and update the FormXml using this entity.

Resources