| I have automated the registration codes. To obtain a code, please go to SCMODsoft.com and fill out the form to receive your code. |
| 
I know it's been a while since I've posted anything. I've been busy, I assure you.
On that note, for anyone looking to download the Space Monitor or User Auditor, I have moved the apps to my new site: SCMODsoft.com!
Thank you
Tim
|
| Still the cheapest way to monitor your disk space usage on a SharePoint farm! Thank you to everyone who downloaded, used, and commented on the 1.x version of the Space Monitor. I have listened and have updated the program to, hopefully, better fit your needs in the latest release - v2.0. Please visit the SharePoint Space Monitor site to read more details. http://www.thesug.org/Blogs/lsuslinky/ssm |
|

I have found that my most time consuming task as a SharePoint admin is discovering what sites a user has access to. Way too often I have been tasked with setting up a new user with the "same permissions as User X". Now, while this isn't impossible, I will admit that my proper security groups aren't complete yet and a few legacy sites still have users added directly, so digging through all the groups a user is a member of takes alot of time.
So as I am in the middle of a self-started user permission audit, I decided to write an application to show me not only the full list of users and groups in my site collections, but show me the sites and lists that a given user has access to. This app is the SharePoint User Auditor.
UPDATE! It's ready. The full 1.0 release has been uploaded!
So what does it do? Fundamentally, the User Auditor will show you the users for a given site or site collection. While that is not hard, per se, it can be time consuming if you have to break down SharePoint and AD Groups. This is where the User Auditor comes in. Using SharePoint's Web Services and LDAP, a site is scanned and its users enumerated and presented in a format that is easy to understand. Want to see what sites John Smith has access to? Even better, think you deleted John Smith's access but he is still getting in? Use this app to show not only that he still has access, but how his account still has the ability to log in to a site.
Taking it to the next step, if you maintain your SharePoint Licenses (CALs) via an AD Group (or groups), the User Auditor will use those groups as a master list of CAL'd users and show you who in your site has access but does not have a CAL. This can be HUGE in preparing for a Microsoft audit or just in maintaining proper software licensing.
Read more...
|
| 
On February 21st, 2009, I released a program to the SharePoint community called the SharePoint Space Monitor. Its purpose: to analyze the content on a SharePoint site to see which sites are hogging up your Site Collection's Content Database. As it has been almost a year since the applications release, I wanted to share with everyone my experience in case anyone else is thinking of making an application and opening it up to the world at large.
A Brief History
This program was never meant to exist beyond my desktop. Amazing how that works sometimes. At this time last year, I was mostly focused on Variations (hence the release of the Variations Editor v2.0 in December 2008). But at work I was also facing a significant WSS Migration/Consolidation. One problem we had was figuring out what sites needed to be moved amongst the birdsnest that was this small collection of Farms. So, being the code-junkie I am, I wrote an app that scanned the sites to see where the big files were. While I felt it was useful, I never thought anyone else would find any interest in it. I had told Jamie McAllister about the app in passing but that’s as far as word went. But thanks to a random question fielded by Jamie in a users group meeting in the UK, I was encouraged to finish that app as he knew someone who needed it.
Releasing the App
I’m not going to talk (type?) about coding the app. There is no point. But releasing an application for the world to use takes a little thought. First off, after my experience with the Variations Editor, I knew that I wanted to try to accomplish two things:
- Interact with the users at least somewhat
- Make a little money
Having released the Variations Editor with only a URL to my blog and to a PayPal page, I got very little feedback and even less money. I was not upset about this (free is free, so I didn’t expect much), but in the few exchanges I did have with users (with comments, suggestions, and complaints) I found that this was very rewarding in that I could see how my program actually helped people. And while most of my users were just other admins hoping to get their Farm behaving properly, I did get a couple fairly large companies (who will remain nameless) contact me with questions as to how the app worked so they could explain to their bosses what they were doing to fix a bad Variations install. So with the Space Monitor, I wanted to do what I could to increase interaction with my users. But how?
Before I get to that, I want to address item 2 in the list above: money. Like any IT developer not coding on Linux, I would like to establish myself as a developer of commercial quality software and make a buck or three. Now, I have no doubts that I will never be Microsoft. But I figured that if I could eek out a modest piece of change from developing software – say, enough to buy a couple boxes and an MSDN license of my own for a home-lab – then I would see myself as a success. But how does one do this without having to establish an LLC or incorporate oneself? I didn’t know. But I do know how to use the Googles.
Donationware
I decided that I would go the route of Donationware. Now, this is not my concept. Not hardly. In fact, I found it here: http://donationcoder.com/Articles/One/index.html. Here’s the gist of it: you give away your product as a full-version, un-crippled, application. But you add in a registration feature that requires a code to be entered to use the program. This code will have a short life span (I chose 4 months). At the end of the life span, the user would have to re-up their code. So while the program is free and full-featured, it is only good for users who keep in contact. I figured this is a small price to pay for a free app. But it also meant that people had to contact me to get a code. And with the feedback I got, it also encouraged people to comment to me about the program. Most importantly, it gave them an immediate forum to suggest features that would make the program even more useful. All in all, this aspect of the project was a HUGE success.
So what about the money? Well, that’s where the registration code comes in. Since the code has a limited life span, the only thing I had to offer in exchange for a donation was a code that would never expire. So I has something to offer people in exchange for donating to the cause. Time would tell how well this would work.
My Experience
In the year-ish that this app has been available, I have had 310 emails from users asking about getting a code to try the application. At first, the emails were slow in coming. But even now, I probably get 7-15 emails a week asking for codes. So in terms of getting more feedback, this was a success. The only drawback is that for some users looking to get started quickly, if they were in different parts of the world where time zones prohibited a quick response, their code would come 6-8 hours after asking for it. To me, this is too much. But thus far, nobody has complained about that aspect to me.
So what about the money? Well, while I am not going to disclose how many people donated money nor how much was donated, I will say that the percentage of people donating is much less than 5%. My first donation came in on March 26, 2009 and my latest came on Jan 18, 2010. I thank everyone who has donated. I can’t tell you how much it means to me to know that you found enough use in something I wrote that you were willing to pay for it. Thank you.
But, if you do the math, you can see that by no means did I make enough money to change my lifestyle. In fact, I didn’t make enough money to do much. But that’s not the point. I proved that the model can work. Keep in mind that I achieved this with very little advertising. In fact, my only press was this blog (and what Google did to find it), a posting on Jamie McAllister’s blog, and the occasional posting on other blogs and forums offering the app to solve a particular problem. So had I had an advertising campaign, these stats may have been different.
Where do I go from here?
Well, the interest in the application and the feedback I’ve received from it has shown me that this application warrants a v2.0. The comments and suggestions received from my users have been enlightening. I now have a better understanding of the needs of the people who need this kind of application. In my opinion, the feedback received beats focus groups hands down. Not that I’ve done many focus groups, but still, I like real-world feedback. So there will be a v2.0. The process has begun and the program is on its way. Being a shop of one; however, has its drawbacks. Right now, it’s a matter of having the time and energy to finish the project. And since demand for v1.0 hasn’t dropped off, I know that the application is still useful. So I know I’m not failing my user base by waiting. Hopefully.
Continuing with Donationware
I have been debating how I want to release v2.0. I enjoyed the feedback I received requiring an email to get a code for the application. To be honest, it wasn’t the overwhelming experience I thought it’d be. I did make a new email account for the application (something I recommend if you follow this model). But even using my account didn’t hurt anything. My problem with it is in the lack of automation in responding with codes. I have tried to respond as quickly as possible, but like I mentioned before, sometimes that wasn’t always possible. So to combat this, the debate lingers to have some form of the app available without the need for a code. But not requiring a code will leave no reason for people to contact me and less to donate. So in the next version, I am considering leaving the Donationware format and offering added functionality. This makes it for-sale-ware, I know. Like I said, this is open for debate. For my users out there reading this, if you were of those that donated, no matter what comes of v2.0, you will get a code for that app for free. It’s my way of not punishing early-adopters.
In Conclusion
Looking back, I have enjoyed my experience in putting forth Donationware. I found it rewarding on a personal, though not as much on the financial, level. Still, I know I gave the application away for free, so any positive is a big positive. But I write this blog post mainly to show that if you are looking to develop an application as an independent that there are ways to try to marry contributing to the SharePoint community and trying to make a buck.
Thanks again to everyone who tried the program. I hope it continues to be useful and I hope I’ll get an even better app completed in the near future. |
| I was asked about showing a graphic on a long loading page. I think I got a good solution so I thought I'd post is here...
On the page you want to show this message, put a Content Editor Web Part on the page. Edit the Source (not the Rich Text) and paste the following:
<DIV style="position:absolute;z-index:1000;background-color:white;width:100%;height:100%;top:0;left:0;opacity:0.9;filter:alpha(opacity=90)" id="pleaseWaitMessage"> <p style="text-align:center;margin-top:200px;color:black;"> <img src="/_layouts/images/ewr133.gif"> <br> Loading... please wait. </p> </DIV> <script> function hideMessage() { document.getElementById("pleaseWaitMessage").style.display = 'none'; } document.onload = hideMessage(); </script> |
| I don't want to get on a rant here, but I came across something yesterday that just made me shake my head at the (lack of) quality control in SharePoint 2007. Yesterday I was working with my Authoritative pages in Search Administration trying to get my search results ordered better. Now, given the size of my site (an intranet) there were enough pages in the Primary list to go "below the fold" of the text box. Fair enough. And in going back and forth on the admin page trying to get the results just right, I overlooked something - I added a duplicate entry. Earlier in my session, I had added the URL to my News & Events section in my Primary pages text box. Well, in a moment of what I'm sure will be classified as careless administration, I added the same URL of my News & Events section in the Secondary results text box and clicked "OK". Much to my surprise, I received a fun error message telling me "An item with the same key has already been added.". Um, ok? After a little Google-ing, I found that others have had this problem and noted that I had entered the same URL in two different levels of Authoritive ranking. In trying to fix it, I went back to the ranking page... same error. Even better, when I click the "Search Administration" link in my SSP main page I get the same error. So because of this little oversight, I now have a broken Search admin. Good times. Good times. Now... at this point, you'd think that if adding the same value in two different text boxes breaks Search Admin this badly that someone at Microsoft would have found that in QA somewhere in the Beta2TR era. But as I've found that the more I work with SharePoint 2007, the more I realize that Microsoft skipped alot of their QA time to get a 2007 release date. If you're curious to other reasons I think that, read my other posts about Variations. So... is there a solution? well, yeah... according to the blog-o-sphere, I can delete the record from the database and it will all be better. Of course, if I do this, I void your warranty. Microsoft's solution? Re-create the SSP. Not really an option given I have a mature intranet. So right now me and my fellow admins are looking into our options. One other point I wanted to make about this... why does this query get run when you click the main "Search Adminsitration" link? I have yet to understand that. Oh yeah... to my original point... How does one hork up Search Administration in two easy steps?
- Enter a URL in the Primary Authoritative Pages section and click OK.
- Enter the same URL in the Secondary Authoritative Pages section and click OK.
Done! You can now no longer do any Search Administration. For the record, this is on a SP1 Farm. The true humor is that this Farm (5 servers: 2 WFEs, 1 Index, 1 MOPS, and 1 Backend) was built by Microsoft. Even better, this Farm failed the SP1 load by not updating one database record. SP1, according to Microsoft, installed correctly so they're no longer concerned. But without that DB line, NO OTHER UPDATE WILL RUN CORRECTLY! So now we're stuck at SP1. So even on a Microsoft-built farm, these errors are still present. Some days I with I'd specialized in MS Access App Development. Fewer frustrations that way. |
| UPDATE: For everyone who has been leaving comments, apparently the comment system can't show more than 12 comments as I have not been able to see any of the new comments. Please don't think I am ignoring anyone, I just can't see the newly posted comments.Chris Prime, the man behind converting the my original SiteMap Generator to a feature-based item has just emailed me his latest updates and has generously submitted these updates for posting online. So thank you Chris for the update. The new ZIP file is on my DOWNLOADS page. Look for the SiteMapGenerator_5_13_2009.zip file. From Chris, here are the new features in the code:
-
1) It now does document libraries and lists (including attachments on list items)
-
2) It checks to see if the document library or list inherits security from the site level (if not then it doesn’t scan the list – not the perfect code, but I couldn’t figure out how to check anonymous access to a list like you can with a site)
-
3) It doesn’t index system libraries when indexing the documents and lists
-
4) To include a list in the indexing you have to create a view (the attributes don’t matter, just the title) called “Sitemap Include” and then it will index it
Be sure to check it out if you use it. |
|
Came across this little gem of a "feature" in MOSS today.
One of my users wanted some information in one list to appear in another list. Fine. But these two lists were not even close to identical. Now, one would think that if someone tried to copy a listitem from one list to another list and the columns didn't match then an error would occur. One would think. But here's what really happens: the columns in the source list that are not in the destination list are ADDED TO THE DESTINATION LIST! What's worse is that the NewItem.aspx and EditItem.aspx pages are corrupted and only show the newly added columnns to use/edit. And what is worse is that this copy/paste operation was done via Manage Content and Structure. So it's very, very easy for a user to mistakenly do. Here are the pics to show what happened.
First, I created two lists: SourceTest and DestinationTest. In these lists I created three columns (Column1, Column2, and Column3 in SourceList and ColumnA, ColumnB, and ColumnC in DestinationList). I then created an item in each list.




Using Manage Content & Structure, I copied the list item from SourceList to DestinationList.


The result shown shows the item is "copied" but the data is missing. Why?

Because the AllItems view only shows the original columns. But looking at the DestinationList after the copy shows that the mismatched columns were created in the DestinationList.

It gets worse. Try to Create a New Item in DestinationList and all you get to add are the "New" columns from SourceList.
And apparently I'm not the only person to have found this.
Just wanted to warn you in case you haven't seen this before.
And for what it's worth, this beavior has been re-created on both SP1 and non-SP1 MOSS Farms. |
|
Anonymous access to my posts is a problem. Use http://www.thesug.org/blogs/lsuslinky/ssm to access the Space Monitor.
Let's be honest, more often that not, there are two questions that you often have to ask yourself in the world of SharePoint Administration: Who moved my cheese? and Who is hogging all the disk space in my Site Collection? While I can't help you with your cheese, I can offer up a suggestion for monitoring disk space on your MOSS Farm.
UPDATES HAVE BEEN MADE TO THE APPLICATION please check the ZIP in the Downloads to be sure you have version 1.6.
And yes, v2 Beta is feature complete and availiable for download as well. Feel free to try it out, too!
SharePoint, well, MOSS, offers up a solution to analyze the usage of your farm with the _layouts/storman.aspx page. But this has two drawbacks: First, this is only available if you have quotas turned on in your Web Application. Second, it doesn't give you much information on a site-by-site basis. And since it only lets you view 100 items at a time, copying the data to Excel to do a little self-analysis isn't possible.
So what does one do? This is where the Space Monitor comes in. With this application, administrators can now look at a Web Application and see what sites (and subsites and lists and libraries) are using the most space.
Below is a screenshot of the application. Click the image or CLICK HERE to go to my site for the SharePoint Space Monitor.

|
Manage Subscriptions /_layouts/images/ReportServer/Manage_Subscription.gif /Blogs/lsuslinky/_layouts/ReportServer/ManageSubscriptions.aspx?list={ListId}&ID={ItemId} 0x80 0x0 FileType rdl 350 Manage Data Sources /Blogs/lsuslinky/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 351 Manage Shared Datasets /Blogs/lsuslinky/_layouts/ReportServer/DatasetList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 352 Manage Parameters /Blogs/lsuslinky/_layouts/ReportServer/ParameterList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 353 Manage Processing Options /Blogs/lsuslinky/_layouts/ReportServer/ReportExecution.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 354 Manage Cache Refresh Plans /Blogs/lsuslinky/_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 355 View Report History /Blogs/lsuslinky/_layouts/ReportServer/ReportHistory.aspx?list={ListId}&ID={ItemId} 0x0 0x40 FileType rdl 356 View Dependent Items /Blogs/lsuslinky/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 350 Edit Data Source Definition /Blogs/lsuslinky/_layouts/ReportServer/SharedDataSource.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 351 View Dependent Items /Blogs/lsuslinky/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 350 Manage Clickthrough Reports /Blogs/lsuslinky/_layouts/ReportServer/ModelClickThrough.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 352 Manage Model Item Security /Blogs/lsuslinky/_layouts/ReportServer/ModelItemSecurity.aspx?list={ListId}&ID={ItemId} 0x0 0x2000000 FileType smdl 353 Regenerate Model /Blogs/lsuslinky/_layouts/ReportServer/GenerateModel.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 354 Manage Data Sources /Blogs/lsuslinky/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType smdl 351 Load in Report Builder /Blogs/lsuslinky/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderModelContext&list={ListId}&ID={ItemId} 0x0 0x2 FileType smdl 250 Edit in Report Builder /_layouts/images/ReportServer/EditReport.gif /Blogs/lsuslinky/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderReportContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 250 Edit in Report Builder /Blogs/lsuslinky/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderDatasetContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 250 Manage Caching Options /Blogs/lsuslinky/_layouts/ReportServer/DatasetCachingOptions.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 350 Manage Cache Refresh Plans /Blogs/lsuslinky/_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId}&IsDataset=true 0x0 0x4 FileType rsd 351 Manage Data Sources /Blogs/lsuslinky/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rsd 352 View Dependent Items /Blogs/lsuslinky/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 353 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 /Blogs/lsuslinky/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 FileType xsn 255 Edit in Browser /_layouts/images/icxddoc.gif /Blogs/lsuslinky/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document 255 Edit in Browser /_layouts/images/icxddoc.gif /Blogs/lsuslinky/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.2 255 Edit in Browser /_layouts/images/icxddoc.gif /Blogs/lsuslinky/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.3 255 Edit in Browser /_layouts/images/icxddoc.gif /Blogs/lsuslinky/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.4 255 |
|
Manage Subscriptions /_layouts/images/ReportServer/Manage_Subscription.gif /Blogs/lsuslinky/_layouts/ReportServer/ManageSubscriptions.aspx?list={ListId}&ID={ItemId} 0x80 0x0 FileType rdl 350 Manage Data Sources /Blogs/lsuslinky/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 351 Manage Shared Datasets /Blogs/lsuslinky/_layouts/ReportServer/DatasetList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 352 Manage Parameters /Blogs/lsuslinky/_layouts/ReportServer/ParameterList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 353 Manage Processing Options /Blogs/lsuslinky/_layouts/ReportServer/ReportExecution.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 354 Manage Cache Refresh Plans /Blogs/lsuslinky/_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 355 View Report History /Blogs/lsuslinky/_layouts/ReportServer/ReportHistory.aspx?list={ListId}&ID={ItemId} 0x0 0x40 FileType rdl 356 View Dependent Items /Blogs/lsuslinky/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 350 Edit Data Source Definition /Blogs/lsuslinky/_layouts/ReportServer/SharedDataSource.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 351 View Dependent Items /Blogs/lsuslinky/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 350 Manage Clickthrough Reports /Blogs/lsuslinky/_layouts/ReportServer/ModelClickThrough.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 352 Manage Model Item Security /Blogs/lsuslinky/_layouts/ReportServer/ModelItemSecurity.aspx?list={ListId}&ID={ItemId} 0x0 0x2000000 FileType smdl 353 Regenerate Model /Blogs/lsuslinky/_layouts/ReportServer/GenerateModel.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 354 Manage Data Sources /Blogs/lsuslinky/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType smdl 351 Load in Report Builder /Blogs/lsuslinky/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderModelContext&list={ListId}&ID={ItemId} 0x0 0x2 FileType smdl 250 Edit in Report Builder /_layouts/images/ReportServer/EditReport.gif /Blogs/lsuslinky/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderReportContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 250 Edit in Report Builder /Blogs/lsuslinky/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderDatasetContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 250 Manage Caching Options /Blogs/lsuslinky/_layouts/ReportServer/DatasetCachingOptions.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 350 Manage Cache Refresh Plans /Blogs/lsuslinky/_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId}&IsDataset=true 0x0 0x4 FileType rsd 351 Manage Data Sources /Blogs/lsuslinky/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rsd 352 View Dependent Items /Blogs/lsuslinky/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 353 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 /Blogs/lsuslinky/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 FileType xsn 255 Edit in Browser /_layouts/images/icxddoc.gif /Blogs/lsuslinky/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document 255 Edit in Browser /_layouts/images/icxddoc.gif /Blogs/lsuslinky/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.2 255 Edit in Browser /_layouts/images/icxddoc.gif /Blogs/lsuslinky/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.3 255 Edit in Browser /_layouts/images/icxddoc.gif /Blogs/lsuslinky/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.4 255 |
|
|
|
|
|
|
Welcome to SharePoint Blogs. Use this space to provide a brief message about this blog or blog authors. To edit this content, select "Edit Page" from the "Site Actions" menu.
|
|
|
Manage Subscriptions /_layouts/images/ReportServer/Manage_Subscription.gif /Blogs/lsuslinky/_layouts/ReportServer/ManageSubscriptions.aspx?list={ListId}&ID={ItemId} 0x80 0x0 FileType rdl 350 Manage Data Sources /Blogs/lsuslinky/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 351 Manage Shared Datasets /Blogs/lsuslinky/_layouts/ReportServer/DatasetList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 352 Manage Parameters /Blogs/lsuslinky/_layouts/ReportServer/ParameterList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 353 Manage Processing Options /Blogs/lsuslinky/_layouts/ReportServer/ReportExecution.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 354 Manage Cache Refresh Plans /Blogs/lsuslinky/_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 355 View Report History /Blogs/lsuslinky/_layouts/ReportServer/ReportHistory.aspx?list={ListId}&ID={ItemId} 0x0 0x40 FileType rdl 356 View Dependent Items /Blogs/lsuslinky/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 350 Edit Data Source Definition /Blogs/lsuslinky/_layouts/ReportServer/SharedDataSource.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 351 View Dependent Items /Blogs/lsuslinky/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 350 Manage Clickthrough Reports /Blogs/lsuslinky/_layouts/ReportServer/ModelClickThrough.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 352 Manage Model Item Security /Blogs/lsuslinky/_layouts/ReportServer/ModelItemSecurity.aspx?list={ListId}&ID={ItemId} 0x0 0x2000000 FileType smdl 353 Regenerate Model /Blogs/lsuslinky/_layouts/ReportServer/GenerateModel.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 354 Manage Data Sources /Blogs/lsuslinky/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType smdl 351 Load in Report Builder /Blogs/lsuslinky/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderModelContext&list={ListId}&ID={ItemId} 0x0 0x2 FileType smdl 250 Edit in Report Builder /_layouts/images/ReportServer/EditReport.gif /Blogs/lsuslinky/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderReportContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 250 Edit in Report Builder /Blogs/lsuslinky/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderDatasetContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 250 Manage Caching Options /Blogs/lsuslinky/_layouts/ReportServer/DatasetCachingOptions.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 350 Manage Cache Refresh Plans /Blogs/lsuslinky/_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId}&IsDataset=true 0x0 0x4 FileType rsd 351 Manage Data Sources /Blogs/lsuslinky/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rsd 352 View Dependent Items /Blogs/lsuslinky/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 353 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 /Blogs/lsuslinky/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 FileType xsn 255 Edit in Browser /_layouts/images/icxddoc.gif /Blogs/lsuslinky/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document 255 Edit in Browser /_layouts/images/icxddoc.gif /Blogs/lsuslinky/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.2 255 Edit in Browser /_layouts/images/icxddoc.gif /Blogs/lsuslinky/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.3 255 Edit in Browser /_layouts/images/icxddoc.gif /Blogs/lsuslinky/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.4 255 |
|
|