| Hi, after trying for months I have to give up: I'm moving my blog from SharePoint to Wordpress.
I have to admit that SharePoint is really a great platform, we can do many amazing thing. But from my experience, getting a fully functional, nice and mobile-compatible is a long process that requires lot of energy and smartness. I'd rather to preserve this energy for our customers!
Many drawbacks I've experienced came from anonymous mode on Blog site template. I had 4 major issues:
- LockDown Feature involve Authentication (Guys Really? http://www.sharepointblues.com/2010/12/22/blog-site-in-anonymous-use/)
- Custom Xsl for anonymous user and ListViewWebpart do not works (http://social.technet.microsoft.com/Forums/en-us/sharepoint2010customization/thread/3d95f279-91c0-47be-b7b9-3a0f83ff4f8c )
- Managing anonymous comments aprovement is far to be easy. many others move comments on disqus.com
- You have to be well css-skilled to get a pretty design. And realllly, I'm a kind of CSS-Phobic
So I gave up. I'm moving to wordpress. From there I can easily manage my posts, comments, site theming etc…
So, see you soon on http://kerseub.wordpress.com
|
| Once A week, I try to post a link to an « Amazing SharePoint Article Of The Week » (ASAOW).
Stefan is writing (one final part missing) an amazing guide about this not-so-well-known feature.
For memo, variation consists in publishing a SharePoint site in different languages.
More info here:
More to comes….
|
| There is something great with ladies: they change their name when get married .There is something SharePoint do not like: when people change their Name…
When user change their AccountName, SharePoint do not "see" it very well. You have to use the Move-SPUser cmdlet (or stsadm –o migrateuser for Moss 2007)
Technet documentation (Here) give this example:
Move-SPUser –Identity "DOMAIN\JaneDoe" –NewAlias "Domain\JaneSmith"
But if you try it, this command fails. Because the identity parameter shall not be a String, but an SPUser object. Instead try this:
$user= Get-SPUser -Identity <LoginName> -Web <A WebSite in your Farm> Move-SPUser –Identity $user –NewAlias "Domain\newLogin" -IgnoreSID
And if this command fails in a "User unknown" error, you should try to launch it under Identity Account.
To sum-up:
- Log as Identiy Account
- Do a get-SPUser first
Thanks to http://social.technet.microsoft.com/Forums/en-US/sharepoint2010setup/thread/92e515a0-7b4f-4597-95ba-ec640810ac0c
|
|
This is a common issue, by design, LDF files associated to databases are not shrink, and size may became huge. Sometime, you have to manually shrink them. Here is how to do:
First : DO NOT CHANGE recovery mode to simple, then turning back to "Full". This is a heavy operation that under (pretty rare indeed) circumstances may corrupt some data.
Instead, do the following:
- Backup transactional log via SQL Server Manager (Right Click>Tasks>Backup> choose backup Type: Transaction Logs)
This will, backup and flush the LDf file, now you have to do a checkpoint. This will move the active section of log to move at the beginning of it.
To achieve this Checkout, start a " new Query" windows after selecting database, and simply type " Checkpoint"
Now, backup transaction Log again (you can use same file as the first backup)
- Shrink file using right click>Tasks>Shrink>File and specify Log as file Type and hit Release unused space radio button
Click OK, the file is now shrinked ;-)
Thanks to Christian Robert : http://blogs.developpeur.org/christian/archive/2011/10/03/sql-server-faq-sql-pourquoi-mon-fichier-de-log-ldf-est-il-aussi-gros-comment-diminuer-sa-taille.aspx
What about the simple recovery mode?
When you perform a SharePoint Backup, SQL is making full backup. That kind of backup do not shrink LDF file, and SharePoint native backup do not handle transaction log. So, if you are only using Sharepoint tools (backup-SPSite/Backup-SPFarm cmdlet or Central Administration) to bakup youre far, you can safely turn youre database to a simple recovery mode. But if you have a more powerful backup solution (such as Microsoft Data Protection Manager) please consider Full recovery mode and en maintenance plan that will periodically perform transaction log backup.
More Info:
|
|
Once A week, I try to post a link to an « Amazing SharePoint Article Of The Week » (ASAOW).
Here is Martin Hatch that talks us about security scale limitation in SharePoint 2010.
This extremely well documented article explained why you should not exceed the 1000 security scope per list, and how you could exceed if you really need to.
This 2-parts article can be seen here: http://www.martinhatch.com/2011/10/scaling-to-10000-unique-permissions.html and http://www.martinhatch.com/2011/10/scaling-to-10000-unique-permissions_04.html
Personally, I have another workaround using Claims: Instead using ACL based on security principal (IE Account Name), I put security based on a complementary claims. Doing this, It creates a single security ACL that will match many users, instead of creating groups containing all these people.
But it mean that you have to:
- Use Claims authentication
- Find a way to put your security rule in a claims…
I'll talk about that in a next Post. |
| This is something that is not well documented, but you can have a profile synchronization for federated-based authentication.
Follow this steps.
First, create de connection sync, specifying an Active Directory type, and Trusted Claims Provider Authentication authentication provider type ,
Once this is done, you have to map a specific profile property Claim User Identifier (SPS-ClaimID) to the claims that is used as identity claims. This claims is visible using this small powershell cmdlet:
$provider=Get-SPTrustedIdentityTokenIssuer
$provider.IdentityClaimTypeInformation
Commonly, the Identity Claims used is emailadress. Go in "Manage User Properties" , find the "Claims User Identifier" and edit it. Go in "Add new Mapping" section, and add an Import connection to the mail Attribute (or the property you used as identifier) of the source data connection you previously created.
Now start a full sync and voilaaa! All your AD Accounts are no synchronized with a claims-based account, not the basic DOMAIN\Account.
What if you want to use profile sync using both Claims-based and integrated authentication? Well even if the profile would be match to 2 different account name (the DOMAIN\Account and the i:bar-foo), they are consider as a duplicate account by FIM, and there will be just one account sync.
For instance, my AD account is in a OU that is sync by a n integrated authentication provider and a claims-based one. So when I query the FIM metaverse, I appear twice :
Once with the Windows Claims providers
And once with the adfs-fedrated claims provider:
But if I try to see the preview, my account appears as twice:
So the only way to achieve a domain sync against claims-based authentication AND Integrated-based authentication is to sync differents OU of this Active Directory domain.
|
| SharePoint is great for 2 things: Rendering Infopath Forms and federate Identity with offshore Providers… But, it doesn't know how to do both of them very well!!
If you try to call UserProfileService.asmx web service from a claims-enable SharePoint web app, you will receive this Ugly 5566 Infopath error.
I do not understand what is going wrong, but if you look at the IIS logs, you'll see that userprofileservice.asmx is requested by a user "InfopathDA", and this call generates a 403 error (or sometime a 500 error) :
I never seen the InfopathDA account before, I'd love to know where its coming from, but I could not find any info about it. Anyway, I manage to find a Walkaround: If I can't request my Claims web Application, then all I have to do is to query a plain NTLM-based Web App, such as my Central Admin (or any WebApp).
To do this, I'll use a UCDX Data connexion file, here is How to do.
- First, create a Data Connection Library into your site collection (Check http://msdn.microsoft.com/en-us/library/ms772101.aspx to see how), that's where you connection file will be stored.
- From infopath, convert the Data Connection to userProfileService.asmx in a connection file inside the library you previously created (Infopath>Data connections>UserProfileService>Convert to Connection File choose a relative to site collection, and specify URL)
- Download the UDCX file you just created, and edit it, here come the tricky part.
This file details how to query the webService. So now, you have to specify the new URL to query and account to use for this query.
Update <udc:ServiceUrl> section to target a NTLM based web app, (such as your central Administration, if you don't have any other webApp). DO NOT touch the <udc:WsdlUrl>, the only URL to update is <udc:ServiceUrl>
Right, now User Identity.
By default, there is a <udc:Authentication> section (which is commented) where you specify how to authenticate the query. Delete this section and set this authentication parameter to use a NTLM account:
<udc:Authentication>
<udc:UseExplicit CredentialType="NTLM">
<udc:UserId>DOMAIN\ACCOUNT</udc:UserId>
<udc:Password>PASSWORD</udc:Password>
</udc:UseExplicit>
</udc:Authentication>
UCDX can also specify a Secure Store Service Application entry, more info here: http://blogs.msdn.com/b/infopath/archive/2006/10/30/the-anatomy-of-a-udc-file.aspx
- Upload the new UDCX file into connection library, approve IT, and update the Form Template, it should works
By default, UserProfileService return info from user that sending the query. But since we are using a data connection file, the query is not displayed as coming from current user, but coming from user defined in UDCX file. So you have to update your form, to set the AccountName parameter of GetUserProfileByName WebMethod and re-query the data source. To do this you have 2 choices depending on the version of your SharePoint farm:
- You deployed SP1+ June 2011 CU, so you can use the username() infopath function.
- You don't have SP1+ June 201 CU, so username() function do not work with claims authentication. You have to be smart to find a way to get username from a way or another. Personally, as soon as the form is open I save it in a temporary library, then I query that library to find the author of the last form, this is the current user….Actually, deploying SP1 and June 2011 CU seems to be waaaay much easier!
Figure 1: I know, I have to make an English version of this screenshot
- Now that you set the AccountName parameter, all you have to do is to query datasource again, and you're done!!
If it doesn't work, mind to check that:
- SSL is not required to query data sources (Central Admin>General Application Settings>Configure Infopath form services)
- You enabled Infopath Proxy on Web application that host the Form AND the web application you query for UserProfileService.asmx(Central Admin>General Application Settings>Configure InfoPath Forms Services Web Service Proxy)
- The user you query has a profile in UPS (UserProfileService.asmx fails if it do not find a profile matching to this UserName)
- The webApp you are querying has not anonymous mode enabled
Feel free to comment this.
Edit. You will find a zip file that include demo form and a demo UDCX file here
Romain K
|
| Hi everyone, Welcome on Romain Keirsebilck's blog.
As you probably notice it, this blog will deal with Microsoft SharePoint technologies.
It will evolve a lot, with soon a better design, but for the moment, I use default template. |
View in Web Browser /_layouts/VisioWebAccess/VisioWebAccess.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 0x0 0x1 FileType vdw 255 Manage Subscriptions /_layouts/images/ReportServer/Manage_Subscription.gif /_layouts/ReportServer/ManageSubscriptions.aspx?list={ListId}&ID={ItemId} 0x80 0x0 FileType rdl 350 Manage Data Sources /_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 351 Manage Shared Datasets /_layouts/ReportServer/DatasetList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 352 Manage Parameters /_layouts/ReportServer/ParameterList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 353 Manage Processing Options /_layouts/ReportServer/ReportExecution.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 354 Manage Cache Refresh Plans /_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 355 View Report History /_layouts/ReportServer/ReportHistory.aspx?list={ListId}&ID={ItemId} 0x0 0x40 FileType rdl 356 View Dependent Items /_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 350 Edit Data Source Definition /_layouts/ReportServer/SharedDataSource.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 351 View Dependent Items /_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 350 Manage Clickthrough Reports /_layouts/ReportServer/ModelClickThrough.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 352 Manage Model Item Security /_layouts/ReportServer/ModelItemSecurity.aspx?list={ListId}&ID={ItemId} 0x0 0x2000000 FileType smdl 353 Regenerate Model /_layouts/ReportServer/GenerateModel.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 354 Manage Data Sources /_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType smdl 351 Load in Report Builder /_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderModelContext&list={ListId}&ID={ItemId} 0x0 0x2 FileType smdl 250 Edit in Report Builder /_layouts/images/ReportServer/EditReport.gif /_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderReportContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 250 Edit in Report Builder /_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderDatasetContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 250 Manage Caching Options /_layouts/ReportServer/DatasetCachingOptions.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 350 Manage Cache Refresh Plans /_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId}&IsDataset=true 0x0 0x4 FileType rsd 351 Manage Data Sources /_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rsd 352 View Dependent Items /_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 353 Edit in Browser /_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1&Edit=1 0x0 0x25 FileType xlsx 256 Edit in Browser /_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1&Edit=1 0x0 0x25 FileType xlsm 256 Edit in Browser /_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1&Edit=1 0x0 0x25 FileType xlsb 256 Edit in Browser /_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1&Edit=1 0x0 0x25 FileType ods 256 Compliance Details javascript:commonShowModalDialog('{SiteUrl}/_layouts/itemexpiration.aspx?ID={ItemId}&List={ListId}', 'center:1;dialogHeight:500px;dialogWidth:500px;resizable:yes;status:no;location:no;menubar:no;help:no', function GotoPageAfterClose(pageid){if(pageid == 'hold') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/hold.aspx?ID={ItemId}&List={ListId}'); return false;} if(pageid == 'audit') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/Reporting.aspx?Category=Auditing&backtype=item&ID={ItemId}&List={ListId}'); return false;} if(pageid == 'config') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/expirationconfig.aspx?ID={ItemId}&List={ListId}'); return false;}}, null); return false; 0x0 0x1 ContentType 0x01 898 Edit in Browser /_layouts/images/icxddoc.gif /_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 FileType xsn 255 Edit in Browser /_layouts/images/icxddoc.gif /_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document 255 Edit in Browser /_layouts/images/icxddoc.gif /_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.2 255 Edit in Browser /_layouts/images/icxddoc.gif /_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.3 255 Edit in Browser /_layouts/images/icxddoc.gif /_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.4 255 View in Browser /_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsx 255 View in Browser /_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsm 255 View in Browser /_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsb 255 View in Browser /_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType ods 255 |
|
|
|
|
|
| Hi everyone. My
name is Romain KEIRSEBILCK. I work as SharePoint engineer in Solutions pour
Sharepoint, a French Company (Check
http://asc-it.fr). I'll put in this blog many problem that
SharePoint technologies raise in my job, and how I solved them. |
|
|
|
|
View in Web Browser /_layouts/VisioWebAccess/VisioWebAccess.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 0x0 0x1 FileType vdw 255 Manage Subscriptions /_layouts/images/ReportServer/Manage_Subscription.gif /_layouts/ReportServer/ManageSubscriptions.aspx?list={ListId}&ID={ItemId} 0x80 0x0 FileType rdl 350 Manage Data Sources /_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 351 Manage Shared Datasets /_layouts/ReportServer/DatasetList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 352 Manage Parameters /_layouts/ReportServer/ParameterList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 353 Manage Processing Options /_layouts/ReportServer/ReportExecution.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 354 Manage Cache Refresh Plans /_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 355 View Report History /_layouts/ReportServer/ReportHistory.aspx?list={ListId}&ID={ItemId} 0x0 0x40 FileType rdl 356 View Dependent Items /_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 350 Edit Data Source Definition /_layouts/ReportServer/SharedDataSource.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 351 View Dependent Items /_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 350 Manage Clickthrough Reports /_layouts/ReportServer/ModelClickThrough.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 352 Manage Model Item Security /_layouts/ReportServer/ModelItemSecurity.aspx?list={ListId}&ID={ItemId} 0x0 0x2000000 FileType smdl 353 Regenerate Model /_layouts/ReportServer/GenerateModel.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 354 Manage Data Sources /_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType smdl 351 Load in Report Builder /_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderModelContext&list={ListId}&ID={ItemId} 0x0 0x2 FileType smdl 250 Edit in Report Builder /_layouts/images/ReportServer/EditReport.gif /_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderReportContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 250 Edit in Report Builder /_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderDatasetContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 250 Manage Caching Options /_layouts/ReportServer/DatasetCachingOptions.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 350 Manage Cache Refresh Plans /_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId}&IsDataset=true 0x0 0x4 FileType rsd 351 Manage Data Sources /_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rsd 352 View Dependent Items /_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 353 Edit in Browser /_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1&Edit=1 0x0 0x25 FileType xlsx 256 Edit in Browser /_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1&Edit=1 0x0 0x25 FileType xlsm 256 Edit in Browser /_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1&Edit=1 0x0 0x25 FileType xlsb 256 Edit in Browser /_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1&Edit=1 0x0 0x25 FileType ods 256 Compliance Details javascript:commonShowModalDialog('{SiteUrl}/_layouts/itemexpiration.aspx?ID={ItemId}&List={ListId}', 'center:1;dialogHeight:500px;dialogWidth:500px;resizable:yes;status:no;location:no;menubar:no;help:no', function GotoPageAfterClose(pageid){if(pageid == 'hold') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/hold.aspx?ID={ItemId}&List={ListId}'); return false;} if(pageid == 'audit') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/Reporting.aspx?Category=Auditing&backtype=item&ID={ItemId}&List={ListId}'); return false;} if(pageid == 'config') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/expirationconfig.aspx?ID={ItemId}&List={ListId}'); return false;}}, null); return false; 0x0 0x1 ContentType 0x01 898 Edit in Browser /_layouts/images/icxddoc.gif /_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 FileType xsn 255 Edit in Browser /_layouts/images/icxddoc.gif /_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document 255 Edit in Browser /_layouts/images/icxddoc.gif /_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.2 255 Edit in Browser /_layouts/images/icxddoc.gif /_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.3 255 Edit in Browser /_layouts/images/icxddoc.gif /_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.4 255 View in Browser /_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsx 255 View in Browser /_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsm 255 View in Browser /_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsb 255 View in Browser /_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType ods 255 |
|
|