Using Sitecore 7.1, we have defined a custom profile with a custom user profile .Net object so that the user's values can be updated in the Security Manager.
In our site, we have a page to display the current user's profile.
If I update a user's details in the Security User Manager, I expect them to be updated on this page. This works fine locally but when we deploy to test (which has separate authoring and delivery servers), the updated details aren't displayed on the page. We have a custom database table that does contain the correct values so I don't know where the incorrect values are coming from (should I be looking at aspnet_Profile table?) ..
We are using IAuthenticationManeger.GetActiveUser().Profile to get the user to display.
Any ideas? Let me know if supplying any other code would help ...
If your are overriding the Sitecore.Security.UserProfile class and using SetCustomProperty method, then yes the values are saved in the aspnet_Profile database. If you update a user profile in a dev environment, you would need to copy those changes to your test environment via serialization or package to see them there.
If you are doing something else, then you may want to post the code for your profile class so we can get a better idea of what is going on.
Related
I am seeing interesting behavior with the WSO2 Publisher for both Governance Registry as well as Enterprise Server when I am using self-defined asset types. There are two items of concern - the one is that I can successfully save an asset type and capture details against it within the Carbon admin console. This works and works well.
However, when I view the asset in the Publisher, only some of the values that has been captured in the admin console are visible. All of the fields (labels) show up, however some are empty. I can however view them successfully in the Admin Console. What I also find interesting is that if I then update the entry in the Publisher and capture new values for the fields that aren't being displayed, I can see the changed values in the Admin Console - so certainly updating from the Publisher is reflected. Once I've done the Publisher update, the values reflect as they've been captured.
The other dilemma is that when I want to capture a new asset from the Publisher itself, I get an error that the asset cannot be created. The error is "Error while creating asset for the request due to overView_version is not provided. Please provide a value for overview_version since it is a required field". I don't have an overview_version field defined within the asset definition. Actually, there is no version information being captured at all as the asset won't go through a version change.
Any idea what could be causing this? I've tried this under both WSO2 GREG (v5.0.0) as well as WSO2 ES (v2.0.0) and both exhibit the same behaviour. At the moment I am using the Admin Console primarily to capture data, however I would prefer to use the Publisher as the dependency graphs are very useful.
I know it may be a bit too late but I believe this is caused by the versionAttribute property defined in the {CARBON_HOME}/repository/deployment/server/jaggeryapps/publisher/extensions/assets/default/asset.js:configure function [1].
Can you try setting this property to an empty string.
[1] https://github.com/wso2/carbon-store/blob/master/apps/publisher/extensions/assets/default/asset.js#L209
This occurs because you haven't indicated that your not using version attribute in your artifact. To overcome the issue please find below code line in asset.js which is located in here(1).
versionAttribute: 'overview_version',
and change it to an empty string like below.
versionAttribute: ' ',
Now you have to restart the carbon server.
(1) - CARBON_HOME/repository/deployment/server/jaggeryapps/publisher/extensions/assets/default/asset.js
When I go to "My Identity -> My Profiles", it does not give me the option to Add New Profile (as seen on the documentation for User Profile Management), but I can only edit the default profile.
I am using an external MySQL server as the JDBC user store, and creation and editing of users works fine.
I did not find any parameter in the xml files to enable this multiple profile feature. How should I proceed?
Thanks.
Yes. I also find the same. Adding multiple profile for user has been removed from UI. But with JDBC user store, I guess, we can add this using the web service API. Following is the API
https://{ip}:{port}/services/UserProfileMgtService?wsdl
I am tasked with creating a web form for people to update their details. I have existing data which I need to authenticate users against to make sure we are updating the correct person. I get the feeling that if I code this from scratch I will be reinventing the wheel.
I'm looking either for an online survey solution like SurveyMonkey (but not SurveyMonkey as it does no have automatic authentication) or a web form system that I can install and configure.
Seems like I need to build my own.
I will code in PHP and use a MySQL database. The login screen will take three bits of information, which if found in a record in the database, will show the user a screen with their old data, and a form for updating this data. They enter their new data and hit submit which will put their information into another table in the database.
Nothing to hard but I'd rather use a pre-made system which is already debugged and comes with with some built in tools so the users can manipulate the data.
I have some Extranet users. Each user has a dedicated page/item, that is maintained by the Admins. The Admins should manually be able to "connect"/reference the current item to a single extranet user. I am think of something like using a valuelookup type or similar on the template.
But how could i accomblish this, as the users are stored in ASP.NET membership, and not directly in Sitecore, as they were in previous versions of Sitecore.
I think you've got the right idea. Either store the users's full name (Domain\UserName) in the item, or store the item ID in the user's profile. If you go the Profile route, be sure and update Sitecore's User template in the Core DB so that you can see the value in the user manager.
There's also a Sitecore table you could use called IDTable which is normally used for mapping Sitecore item IDs to external data. That might be your best solution since user Profiles can be annoying... will also be the most efficient in terms of finding/indexing this data. Look at the Sitecore examples of importing data to get an example using this API.
(Note I need a solution for this that works on 2007 and 2010)
We have a desktop application that we are adding Sharepoint Check in and out functionality to using the Web Services.
One issue we are coming up against is determining if the current user (of the desktop app) has a document checked out.
Our current approach is to get information about the document in question via Lists GetListItems call which will return us the ows_CheckoutUser field if the document is checked out.
We then want to compare the name of the check out user to the name of our user.
The problem is the name in ows_CheckoutUser seems to be the display name of the user and not the account name and therefore is not unique and not reliable for this check.
I noticed that ows_CheckoutUser also returns an ID value for the user but I can't seem to find out how to get the ID of my current user so I can compare on that instead.
Does anyone have any thoughts on this? Is this the right way to go about it or is there a better way?
I have thought about trying to run a query via GetListItems that would match on the document name and the checkout user equals my current user to see if I get any results back but I think that would suffer from the same problem.
Or maybe I need to go outside the Web Services and use the author.dll?
Edit
I've started going down the route of using an RPC call to getDocsMetaInfo via the Author.dll FP extension.
This call actually gives you the account name of the user that has the document checked out.
I'd still be interested in a solution using the Web Services however
Not sure what the native reply of sharepoint but I suppose it should be the same as when using the Camelot .NET Connector for SharePoint.
You have a few fields which possibly can hold this info
CheckedOutUserId, ID of the User who has the item Checked Out (Lookup)
IsCheckedoutToLocal, (Lookup)
CheckoutUser, Checked Out To (User)
CheckedOutTitle, Checked Out To (User) -
LinkCheckedOutTitle, Checked Out To (Computed)
It actually is LinkCheckedOutTitle that contain the visual reference to the user who checked the document out. In my case it's listed as trikksdomain\trikks, or if a localadmin checked the doc out its machine\administrator.
Here is a SharePoint 2010 Document Library Column Reference guide. http://www.bendsoft.com/download.php?id=b05c062a401cf8bc221ea5df63cc9570