Change document account in an Oracle Webcenter Content Workflow - oracle

I have implemented a website using Oracle Webcenter Portal (WCP) integrated with Oracle Webcenter Content (WCC).
Some pages of the website need to show public documents that are stored in WCC. In order to do this I use WCP content presenters. However, I realized that, in order for the document to be visible to a user that is not logged in, that document must have no account associated in WCC.
However, for security reasons, prior to it's release the document needs to have an account.
I was trying to use WCC Workflow events to alter the account using wfUpdateMetaData Idoc function. However, after some research I realized that this function is only capable of altering metadata that was manually created by me.
Is there any way to achieve this?
Thanks in advance.

You have two possible approaches:
It is possible to give access to non-logged in users, by giving access rights to Guest. It's probably not what you want, so I'll leave this option without further description for now.
Second option is to change account by using executeService to call the UPDATE_DOCMETA service. It might an issue that the document is in an active workflow and you might have to call wfRelease prior to the service call (I have no possibility to test it right now)

Related

Microsoft crm dynamics legacy web interface app

I'm very new to Microsoft CRM, so please fix me if i'm wrong.
I have a business app that has the old web interface.
I don't want to setup a new solution for a client and provide a new api.
A want to reuse what is already there and adjust what data I will get when I request some project query.
My problem is that I cannot find where the schema is defined.
Can someone point me where to look for it?
Right now the api is working and I can retrieve data without problems, but there are some missing fields that are present CRM and not accessible via api. And my goal is to provide those fields
Thanks
go to make.powerapps.com
on right hand side select your env (dev/Test/Prod)
after that select solution on left hand side
then scroll down complete list you will find default solution
once you visit default solution, It hold almost entire system schema and so on. For example tables, it's fields and so on.
there are many other ways, but this should be a good starting point.
Note: It is not recommended to make changes directly under default solution, In fact it is bad way of making changes.

Joomla 3.x - how do I have students (we register them) access one area, and public (self registration) another area?

Apologies for what is I suspect an easy question for many - I am very new to Joomla. I am building a website for my wife on Joomla 3.x (Noteworthymusictuition.co.uk). I already have an area for her music students, in which they log in and can access teaching material not available to the public. We register them.
I want to create an area of 'free downloads' for members of the public to self-register and automatically go to an area for them to download material. They need to be able to log in again after registration. To build up a newsletter group, I want to capture the registrations and store them for subsequent emails.
I do struggle to understand the ACL in Joomla, but if I try and set up a registration form for the public to use, I have to enable self registration in the admin and that affects the existing student login.
I hope that's enough detail! I was wondering whether I need an extension to enable multiple levels, such as Access Manager Pro? But on the other hand, what I'm asking for doesn't really sound like rocket science!
Many thanks!
By the way, I have never done any programming in Joomla - apart from occasional HTML editing.
Anthony
If you choose the 'self' registration option that doesn't stop you creating users as you do now. As long as you set the user up correctly they should be able to log in without issue.
New users would have the option to create an account and would be activated via a confirmation email.
You need to create at least one new user group though. For example, a 'download' group which has access to the additional material. Then, if you use a decent component (http://www.joomlatools.com/extensions/docman/ - see access control new tab) you will be able to control access to documents and downloads by specifying which groups are able to see download links etc.
Hope that helps a bit!

Dynamics CRM Managed Solution Add Customer Set Parameters

I'm creating a solution which will be released as a managed solution for Dynamics CRM Online.
However, the customer will need to put information in when installing the managed solution to allow interaction with outside services.
For example, when you install the LinkedIn solution, you need to add your log in information to allow the CRM to access your LinkedIn account.
How do I add these parameters to the a solution, and then allow the customer to update them if they change?
Cheers
Edit:
To add to my query and following the answer below.
To make sure the process is correct in my head.
Option 1.
I will create a custom entity for storing key/value, or username/password combination.
I would then create a customisation page for the solution using html web resource, which when submitted, javascript would create a single record to hold those values.
I then need to link every record that needs the values stored in the custom record - I'm not sure how this would be done without editing a workflow after the storage record has been created, to link each normal record to the storage one.
Option 2.
Create an xml web resource that stores the values. Create the html/javascript resources to update this using the configuration page.
I can then use a javascript function to obtain that data when the custom entity is created, perhaps to populate hidden fields for storage and use behind the scenes.
I can't find any tutorials on getting started with using xml in this way - can you point me in the right direction?
I typically create a "Configuration" entity that has Name/Value attributes. This is also useful when you have Dev/Test/Prod environments that require different configs (e.g. URLs, credentials, etc).
Another approach is to using Plug-in configurations or Web Resources to store that type of information. The Plug-in configuration is pretty straightforward if you can have the customer use the Plug-in Registration tool to modify the value.

Raw SQL for sharing a crm document

In MSCRM I'd like to automate sharing documents out to users. I tried using SQL Server Profiler to trace but I can't find the raw sql. Anyone know how to do this? Thanks!
How you do this depends largely on where you're storing the documents (on a file server, within CRM, on SharePoint etc) and also how you want to "share" the document (email a link to a file server location, email an attached document, provide access to doc via CRM UI).
If Sharepoint is part of the equation there's various add-ons / webparts available that integrate document management with CRM. If your document is within CRM you could look at creating a workflow that either emailed a link, or provided access rights within CRM or something similar. You approach would also depend on if you're sharing with CRM users, CRM contacts, or some other type of user.
If you've built a custom form or application then you should be using the API as driis mentions. Whatever the scenario there shouldn't be a need to find the "raw" sql to achieve this.
At the bottom of the definitions of "Filtered***" view there is a bit of sql like
select POA.ObjectId from PrincipalObjectAccess POA
join SystemUserPrincipals sup on POA.PrincipalId = sup.PrincipalId
where sup.SystemUserId = u.SystemUserId and
POA.ObjectTypeCode = 10039 AND
((POA.AccessRightsMask | POA.InheritedAccessRightsMask) & 1)=1
Adding new rows to PrincipalObjectAccess should do the trick. However, it's a hack, it requires administrative privileges and is highly unrecommended on general principles...

How to get data out of entity in script in CRM 2011

I have 2 entities (for this example) in CRM 2011 - Account and Case. The Account holds all of our clients, the case holds individual work actions for an account. When a case is created one of the input fields is the Account.
What I would like to do is upon the user selecting the Account, execute some javascript to look up the account entity to display some additional information.
So far I have got the javascript working that triggers the onchange event of the Account field, and it correctly gets the selected Account, but I don't know what the next step is.
I'm new to CRM so don't really know if what I'm asking is actually sensible, if there is a better way then please let me know.
Thanks!
For the record, the way you were thinking about doing things would be completely supported, and TechHike's method is supported in CRM 4, not CRM 2011. Steps you would take:
Use CRM 2011's web resources to upload a script file that does what you want.
Use the form editor to make your javascript method from step one fire when the Account field changes on the form
Make a request to CRM's REST endpoint (http://msdn.microsoft.com/en-us/library/gg334767.aspx) to retrieve the details of the account selected
Use the results to populate fields on the form, show a popup with details, etc.
There are plenty of examples of caling the REST endpoint from JavaScript in the SDK (http://msdn.microsoft.com/en-us/library/gg309408.aspx). Good luck!
Matt's post above contains everything you need to know, but you might also find the blog post below useful. It basically describes the same scenario where you have a 1:n relationship (such as Case and Account) and details how you can pull information from a specified lookup (e.g. account), using the REST endpoint (as Matt has already mentioned) and display it on the form.
http://community.dynamics.com/product/crm/crmtechnical/b/crminthefield/archive/2011/02/07/showing-related-information-in-a-crm-2011-form.aspx
The blog post includes a link to download a CRM2011 solution already built to give you something to look at how they've achieved this (useful if you're new to CRM2011).
There are two ways to do this, and you may be best to do them both in parallel:
on the Account > Case relationship edit the Mappings. When a user goes to an Account and uses the left navigation to look at Cases (or a grid of Cases on the form) then hits "Add New Case" they are creating a Case from inside the "context" of the Account. You can copy any fields you want to from the Account to the Case record at this point - the Mappings define what field from the Account are copied to which target field on the Case. This will always be the most robust, easiest way to do it but relies on the user starting in the right place.
on the Case for you could also add an onChange script to the Parent Customer lookup to fetch the data from the parent record. I think Stephen's link is probably the best way to do this as it does not copy the fields but allows the user to see them anyway, which is better database design (from a purist standpoint) and means the user always sees current info about the Account rather than possibly out of date stuff. Alternatively if you actually need to copy some fields (maybe the customer's normal SLA say) so that you can use these in other such as scripts or workflows on the Case then have a look at this article: Disabling the selection of contacts for opportunities all the way
Although this is about a slightly different topic, the script there fetches the Account details of the parent Contact - you want to fetch values from a parent (llokup) field so the approach is the same, just different in the detail
There are various ways to do this but I would recommend doing it the supported way, without javascript. This may not be as pretty but it is likely much easier. The scenario would be to add a left navigation link to the case entity that when clicked will update the content area to show the details of the account.
To add a link to the left navigation you will need to configure the isv.config file to have an extra link for the case entity.
Here's an example:
http://support.sfusion.com/kb/hosted-microsoft-crm-4/how-do-i-modify-the-isv-config-file-in-microsoft-crm-4/
You can also lookup isv.config customizations in the SDK, found here:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=82e632a7-faf9-41e0-8ec1-a2662aae9dfb&displaylang=en
Next you will need to create a custom aspx page in the ISV folder of the web server. This page will display all the information about the account that you want to show the user when the left navigation link is clicked. The ISV.config as an xml property that allows you to pass all the context params to your page on the querystring. Make sure when you create the link to turn on this attribute.
Now the only tricky part is that in the page you will need to use the CRM web service to display all the account details that you interested in showing the user. I won't do into details on this. You can find great tutorials on the web or in the SDK if you haven't done this before.

Resources