How to Export and Import Views in Microsoft Outlook? - outlook

we run exchange 2010 and our clients are running Outlook 2007. In the public folder, we have created a couple of shared Task folders. Logged in as the administrator, we have given the appropriate permissions, created a new list called HF and defined the views for it. I then give the permissions to the rest of the users which are Editor permission. When I log in as a test user, I can access the HF Task but I don't see the custom defined view for it. I'm not sure how to get that to show up for everyone.
Views are not stored in the Public Folder. They are stored in Outlook or a user's Exchange mailbox. You would need to export the view and import it on the viewers' computers for them to have it. There should be a group policy option for importing views without having to do it manually, though.
Can anyone give me a step by step guide as to how to do those last 2 sentences I have searched far and wide through the internet and for the life of me cannot figure oout how to export the view or import it on others computers. I also cannot figure out this group policy option for importing views without having to do it manually either. Any assistance is much appreciated. Thank you

I don't think that GPO provide anything for customizing Outlook views. Anyway, take a look at the Setting Outlook Group Policies page for more information on that.
The Outlook object model provides the View object which represents a customizable view used to sort, group, and view data. Here is what MSDN states:
The View object allows you to create customizable views that allow you to better sort, group and ultimately view data of all different types. There are a variety of different view types that provide the flexibility needed to create and maintain your important data.
The table view type (olTableView) allows you to view data in a simple field-based table.
The Calendar view type (olCalendarView) allows you to view data in a calendar format.
The card view type (olCardView) allows you to view data in a series of cards. Each card displays the information contained by the item and can be sorted.
The icon view type (olIconView) allows you to view data as icons, similar to a Windows folder or explorer.
The timeline view type (olTimelineView) allows you to view data as it is received in a customizable linear time line.
Views are defined and customized using the View object's XML property. The XML property allows you to create and set a customized XML schema that defines the various features of a view.
So, you can export and import the XML value of the view programmatically.

Related

MS Dynamics CRM: Is there way to check personal view against existing attributes?

If you want to remove some attributes from the entity, a check is made to see if they are used in global views. For personal views, a similar check is not performed, and if the user wants to use a personal view that contains a non-existent attribute, he will only see a not very explanatory error message.
Is there any way to check the use of non-existent attributes in a personal view?
AFAIK, there is no way to do dependency check from an attribute to personal views. I don't see a XrmToolBox plugin to achieve the same.
Probably you can do some sdk calls to pull all the personal views and check the content in query FetchXml and layout xml for your attributes, and go from there.

Hide Views from View List

I have a plugin that fires on PreOperation of RetrieveMultiple and adds a query condition that the view name does not begin with HIDDEN_ . In the web client this works perfectly. In my on prem Outlook client (for my sandbox) it also works perfectly. However when I am using Outlook 2010 with an online environment it still displays the hidden view in the drop down (but not if you open an advanced find).
On top of this issue I also am unable to prefix my dashboard views with HIDDEN_. If i do then the dashboards display no information. I haven't been able to get it to work properly with the dashboard views, but I need to hide them as I have two entities that have a dozen views each that are only used for the dashboards.
In short these are the two questions:
1. How do I hide views for an online 2011 environment in the outlook client?
2. How do I hide the dashboard views and still use them for the purpose of creating dashboards?
Thanks,
Nick
Try registering your plugin on the PreValidation step.
Of course, all clients should show exact similar behaviour, so to me it seems you have found a bug.

Let an editor change custom user settings in EPiServer

I am creating an EPiServer portal that users will log on to and view information specific to their company. A company can have many users. Every user will need specific settings to present correct data to them. These settings are maintained by an editor, not the user him/herself.
I could of course do a admin page that connects to a simple database, but I would like to use EPiServers built in interface for handling users if possible.
Is it possible to extend the "Edit User" interface to allow editing of custom properties?
Maybe also use ASP.net's system for custom properties in SqlMembershipProvider?
Sounds like you should use the SqlProfileProvider, take a look at this post:
http://world.episerver.com/Blogs/Stefan-Forsberg/Dates/2009/5/Adding-a-connected-Company-field-to-an-EPiServer-user--A-love-story/

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.

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