Author Archive

(new tool) Show-Hide fields using SP Web Services

Monday, January 26th, 2009

Download Link

This Windows Application lets you Hide or Show fields from different list
pages.(EditForm, DispForm, NewForm). Ideally if you can use the Object model and
manipulate all these field properties (for e.g. ShowinNewForm = false") or even
use Java scripts to on these pages.
I felt Features was too cumbersome
for one off requirements and JavaScript, well even thouigh I like all the JS
tweaking, it is just not easy to get it working and page updates or field
updates would result into failure (Anyway there are good posts around regarding
how to use JS for hiding fields even based on permissions).

So to
encompass this requirement I put together a Windows application which utilizes
share point Web services to query and update the list settings. All you need is
a right account to manipulate the list settings

Before going through the Steps let me give a brief scenarios where it might be useful.

Workflow:

A user places a new Issue Request using Issues List. He enters neccessary info but "Priority" field is not available to him( it will assigned by Admin). The Admin also doesnt want the user to change already placed Issue.
The request will trigger a worklfow which will start a review process on the new item and Admin will assign a priority to the placed Issue.

1. You give create a new permission role to just Add items and then assign a group to it.

2. You will Hide all the Admin fields using this Tool on NewForm.aspx page for the list.

3. Create a workflow where Admin gets notified on new Request and direct him to Edit Form page where he sees additional fields like Admin comments and priority.

Anyway below are the steps to Hide Fields using this tool
Steps:
1. Enter
Url.

2. Enter Credentials (incase you are not using default
credentials)

From Sharepoint

3. select a list
4. Browse through fields and update
respective properties.
 

this wouldnt have been possible without U2U or Stramit Caml Viewer (tools which I use the most)

Note there might be bugs which I haven't tested. But the source code is available in codeplex so feel free to take a look at it 

 

Resource Links  

http://devlicio.us/blogs/derik_whittaker/archive/2007/09/19/updating-list-information-in-sharepoint-via-web-services.aspx

 

BDC Oracle and SSO

Tuesday, January 13th, 2009

 I have been working on BDC, to display some Oracle Application DB information into SharePoint. No matter what you keep reading, it wasn't as simple I thought it to be.

Here are the few resources which made it accomplish it. 

1.Developer Tool:

BDC Metaman is way to go. ( although I used free developer edition along with Beyond compare , I have been convincing the client to get full version for projects going forward). Also there is cheaper alternative (200$ ) from http://www.simego.com/buy.aspx which isnt that bad but much better than Microsofts BDC editor.

 2. Getting Started

To get started here are few links to read about BDC before dwelling right into it.

Randy Williams has been posting on a 8 part series about BDC (its still at part 4) nonetheless a good source to start from scratch     http://sharepointmagazine.net/technical/administration/everything-you-need-to-know-about-bdc-part-1-of-8 

Win smarts article http://blah.winsmarts.com/2007-4-SharePoint_2007__BDC_-_The_Business_Data_Catalog.aspx

 3. Set Up:

Clearing few thing off.

Q Do you need SSO?

A. If you have a DB application on a different server than SharePoint server you would need some form of authentication across servers. Because of double hop issue you cannot pass credentials from user to one server to another . (Kerberos  anyone? I know Harbor.net posted tool for configuring Kerberos in SharePoint farm), to configure kerberos just for BDC application is too painful.
Anyway to overcome this authentication issue you need SSO, using SSO your BDC application will authenticate to Oracle DB. You will assign users who can execute the connection using SSO account.

    Again you need SSO if the DB is on a different server.

Q How does BDC know to use SSO?

          You specify in BDC definition file the SSO ID you want to use.

Q Can I use application pool account instead of SSO account?

           A. Yes,  I could get it working, I wont recommend it.

 

Next Steps:

Overview  

1. Install Oracle client on all SharePoint Servers.

    (I just ran latest Oracle set up .exe ) 

2. Configure SSO on all servers

3. Create BDC application definition file.

    Note in this file you need mention the SSO ID your application will be using instead of authentication accounts. 

4.  Manage permissions of Application to give users or groups access to execute the application using SSO.

 

I am not going to post all the steps because they have been detailed to full extent in following articles.

a. Configure SSO  

    http://thorprojects.com/blog/archive/2008/08/02/moss-single-sign-on-setup-step-by-step.aspx

b. Setting up BDC application:

 /forums/p/5062/15551.aspx

 

Good luck, read through links about BDC architecture and functionality in general, so that you understand it before directly diving into it. 

Sharepoint and Jquery

Thursday, November 20th, 2008

I just read on Jan Tielens blog a post about Jquery and SharePoint and installing it.

http://weblogs.asp.net/jan/archive/2008/11/20/sharepoint-2007-and-jquery-1.aspx

————————————————————————————————————————————————————————————————————————————-

 

1) Load the library in the page you want to use it
This
can be done very easily by adding for example a Content Editor Web Part
to the page (or modifying the page with an editor), containing the
following HTML:

<script type="text/javascript" src="http://weblogs.asp.net/_layouts/jquery-1.2.6.min.js"></script>

2) Add the script to the master page
You can add the same script tag to the master page that is used by your SharePoint sites as well, typically in the HEAD tag:

<HEAD runat="server">
    . . .
    <script type="text/javascript" src="http://weblogs.asp.net/_layouts/jquery-1.2.6.min.js"></script>
    . . .
</HEAD>

This may look very easy, but remember modifying out-of-the-box files in the 12 hive is typically not supported.
So if your sites use the default master page, this is a no-go.
Additionally it could be that you've to multiple master pages (e.g.
system and site master pages) which complicate the situation.

3) Use the AdditionalPageHead Delegate Control (my favorite!)
By providing the contents for the AdditionalPageHead Delegate Control that
is used by all the out-of-the-box master pages, you can make sure the
the jQuery library is loaded by all the SharePoint pages. The
AdditionalPageHead Delegate Control allows multiple controls to provide
contents, so it's a great extensibility scenario. To accomplish this
you need to build a web user control (ASCX file), that contains the
script tag to load the jQuery library:

<%@ Control Language="VB" ClassName="jQueryControl" %>

———————————————————————————————————————————————————————————————–  

I think its a nice post and I obviously like his blog and work but now I think there are few issues with it.  

  1.  Jquery the core library is constantly updated, so a farm level or web level deployment would demand farm level updates or web level updates.
  2.  Even tho the core library provides with features like easy DOM traversing and manipulation…a lot of features e.g. image galleries effects  are developed as a separate plugin.So in the end you will end up using lot of plugins which are provided.
  3. But each of this plugin, usually has a dependency with the version of Jquery it is using and being an open source community solution a lot of plugins aren't updated to reflect the latest core files. So if you are following this plugin model of Jquery development(which you will)  and use Farm level deployment. it is going to be a maintenance nightmare trying to make sure all your javascript code is working in case of Core file updates.

Now I do think a web/site feature is essential depending how you customize each sites, which would mean that a version of Jquery is consitent across atleast one Web or Site But at the same time it should let you use different versions of JQuery if needed. So the physical location would rather be in a document library than layouts folder, this gives the ability for different sites to use different version of Jquery if needed.I typically create a Resource folder on Site Collection or Web level depending on the project and utilize that folder for Jquery core and Jquery Plugins. Now suign this we make sure each feature we develop has its own Jquery core file.

Now I know a lot of people would hate me for have multiple versions of a code/utility floating across in a single environment, because obviously it diverts from our traditional  model or deployment and maintenance using C# plugins. But I do think with JQuery or any javascript frameworks rather than considering them as utility or framework( asp.net ajax) we should consider them as part of our code or feature and should be packaged along with our feature or code. This Jquery version for each feature. 

 

 Anyway here are few links onJquery and SharePoint development :

EndUserSharePoint has a lot of posts on JavaScript and share point custom development and lot of useful tweeks. http://www.endusersharepoint.com/

 List Dom Traversal : This post talks about a select all option for check boxes in list. http://www.e2.nl/sharepoint/?p=11

Page large content:     http://blog.mastykarz.nl/paging-large-content-sharepoint-jquery/ 

Keyword Search on Sharepoint page: http://www.endusersharepoint.com/?p=951

Update List Items using Jquery and Web services : http://blog.nvise.com/category/javascript/jquery/

 

 

 

Microsoft has bought Dundas Charting controls for SSRS ?

Monday, October 27th, 2008

 There is a announcement for free Microsoft Charting Control from Microsoft for .net 3.5

 http://coolthingoftheday.blogspot.com/2008/10/free-winform-and-aspnet-chart-controls.html,

 

which make me think Microsoft bought Dundas ..Well,
not quite.  Microsoft have not actually bought Dundas but they have
bought the code base for the charting, gauge, calendar, map and barcode
controls.  This is excellent news – I've used Dundas charting in
various guises for a number of years and have been well impressed with
the depth and breadth of the suite. 

The plan is to integrate
the charting functionality into Reporting Services 2008 (Katmai). 
Adding this functionality to Reporting Services is going to be great
step forward and I can't wait to start developing some presentation
ready reports.  Should make the sales pitch easier too !

 from here: http://blogs.adatis.co.uk/blogs/sachatomey/archive/2007/06/04/teched-announcement-microsoft-purchase-dundas.aspx

 

This would make life so much easier  now only if they buy

http://www.enesyssoftware.com/Products/EnesysRSDataExtension/Overview/tabid/72/language/en-US/Default.aspx

to make querying SharePoint list easier.  

Custom List archiving Solutions copy to to another list item

Wednesday, October 22nd, 2008

 

SSRS 2008 and SharePoint integration

Friday, October 17th, 2008

From   http://blogs.devhorizon.com/reza/?p=740

 

Although when installing SSRS 2008,
you get an option to install in “integrated mode”, “native” or
“Install, but configure later”, there is always this question that if I
have setup my report server in the native mode how easy it would be to :

  1. Switch my report server to the integrated mode
  2. Switch my report server databases to the integrated mode

Okay, let me take a pause and answer the second question first because it is easier! You cannot shift your databases
from native to integrated mode or vice versa. Report server databases
contain mode-specific data and currently there is no process that I am
aware of, to convert them over to the other mode. This means that if
you've setup your report server in native mode and you've published
your reports, once you make the switch, you ought to publish everything
again to the new report server. Period!

However, the first question calls for
a more visual kind of answer; therefore the main focus of this blog
post. I have categorized the steps you require to take into two
sections.

 

 

COntent Query Webpart removing spaces and unwanted charc from fields in xslt code

Thursday, October 16th, 2008

I come across customizing content query web part quite a lot and lot of time, I have to deal with User created fields with spaces, I am sure all you guys have run in with Field name with spaces turning in _X000… and what not. If need to learn more about Bes Practice for naming a column/Field here is the link :

/rohan/archive/2007/09/07/spfield-column-field-name-title-and-internal-names-and-spaces-between-them.aspx

 

 

Anyway here is a piece of code I found itneresting :

DataColumnRename Property

Use the DataColumnRename
property to rename columns programmatically. This property can help you
minimize XSLT and schema customization, or to perform bulk or custom
column renaming operations. For example, you can rename a compound
column name such as KBArticleTitle to a common XSLT transformation variable name such as Title, and remove the need to create a custom XSLT transformation for each custom schema.

Separate column rename values by using semicolons and use the format originalName,newName.

<![CDATA[<property name="DataColumnRenames" type="string">KBArticleTitle,Title</property>]]

 

 

 

EMC Documentum Archive Services for SharePoint

Thursday, October 16th, 2008

EMC Documentum Content Services for Microsoft Office SharePoint Server 2007 provides direct access to the Documentum Content Server through the SharePoint user interface. When business processes require advanced content management capabilities, EMC is the single source provider of integrated enterprise content management solutions for SharePoint.

 

Product Link http://www.emc.com/products/detail/software/archive-services-for-sharepoint.htm 

 

Workflow Resource List

Tuesday, October 14th, 2008

 

Send e-mails in a workflow
- if workflow creates a task you can send the task url in the email
- send your own custom task notifications
- send emails dynamically to a group

http://office.microsoft.com/en-us/sharepointdesigner/HA102390421033.aspx#2

Create a Secondary Workflow
- Daily reminders

http://office.microsoft.com/en-us/sharepointdesigner/HA102376561033.aspx

Email daily task reminders

http://sharepointmagazine.net/technical/development/the-dog-ate-my-task-use-sharepoint-designer-to-email-daily-task-reminders

There are three different actions that create a task, and each action is designed for a specific kind of situation:
Collect Data From User, Assign a Form to a Group, Assign a To-do Item

http://office.microsoft.com/en-us/sharepointdesigner/HA102336241033.aspx#1

In addition, several limitations apply to all three task actions:

* When a workflow assigns a task to a group that is identified by a
single alias or address, the workflow creates only one task item, which
is then shared by the entire group. Any member of the group can edit
that single task form and click the Task Complete button. To assign
individual tasks to multiple users (only possible with the Assign a
Form to a Group or Assign a To-do Item action), enter each user
individually in the Select Users dialog box.
* All of the tasks
assigned by a single workflow action must be completed before the
workflow can continue. If the workflow action assigns individual tasks
to six participants, for example, you cannot direct the workflow to
continue after only three of the six tasks are completed.
* After a task is assigned to a participant by the workflow, that task
cannot be transferred to any other participant (by delegation,
forwarding, etc.). However, anyone with the default Contribute
permission level to the Tasks list can edit the task item and thus
allow the workflow to continue.
* A workflow can use each task only once. After you create a task by
using the Custom Task Wizard, there is no way to reuse that task later
in the workflow. You can create another task that performs the same
function, but the task's name will have to be different and unique.

 Original post

http://claytonj.wordpress.com/2008/08/22/sharepoint-designer-workflows-resource-list/

Send Scanned documents to SharePoint

Monday, October 13th, 2008

 

October 13, 2008 – Through the simplicity of a single touch,
businesses can rapidly and easily scan and send documents to Microsoft
SharePoint.  Kodak is offering Atalasoft, Inc.'s

Vizit Scan-to-SharePoint software free, enabling scanned files to be
sent directly to the widely used content management tool via Kodak's
convenient and easy to use SmartTouch feature available on selected
Kodak desktop scanners.

 http://www.webitpr.com/release_detail.asp?ReleaseID=10191