Saturday, February 2, 2008

SharePoint Beagle articles

With the growing popularity of SharePoint Beagle, I’ve decided to start posting a blog entry for each of my articles, the reason is that people with questions or comments about these articles don’t have to seek me out on Facebook, LinckedIn, or send comments to my blog on absolutely irrelevant posts. I’ve received an overwhelming response to the last article “Training Scheduling Solution”, please post all of your questions and comments regarding this article here.

22 comments:

Vishan said...

Wow, I feel privileged to be the first to write a blog for Natalya.
The training site template was very useful to me and it helped me out a great deal…
However, I couldn’t of had done it without Natalya’s own private help. She was very kind and generous and always responded to my queries.
I don’t know her, but what a kind and lovely human being she is.
Thank You Natalya.

Vishan said...

Hi, the personnel site needs a slight modification.
I need a course to be approved twice (Senior managers approval and managers approval) as opposed to once.
At the moment will take it that senior managers are approving it.
I have created a seperate list called "Managers approval" which has all there details..
How can i have a workflow set up so that the managers approves a course- and once they have approved it - senior managers approve it!?
Thanks,.

Anonymous said...

Natalya rocks but we'd sure love to be able to contact her. Some of us are having issues with one of her tutorials. Please see:

http://slingeronline.wordpress.com/2008/01/21/custom-workflow-in-sharepoint-designer-doesnt-quite-work-right-some-help/#comment-421

Natalya Voskresenskaya said...

Go to the settings for the list you want to set this approval for.
Click on Workflows, select "approval", check "Start this workflow when a new item is created.". On the next screen, make sure "One participant at a time (serial)" option is checked. In the "Approvers" box, select your approvers in the order you want then to participate in the worflow.

Natalya Voskresenskaya said...

I've read the thread that you’ve opened. The error you are making is trying to assign workflow variable ClassID from within the workflow. Workflow is not aware of the ClassID of selected row.
The value for the selected classes ClassID is being passed to the workflow value from the OnClick event for “Sign Up” button
javascript: {ddwrt:GenFireServerEvent(concat('__workflowStart={{7696F6EA-2079-4A53-A97B-CE61D99A02AB},New,{66402E3B-C94E-4E6F-9936-10E596CC5795},ClassID=’,@ID,’}__redirect={MyClasses.aspx}'))}
The article if fairly detailed try to follow it step by step. Let me know how it goes.

Anonymous said...

@Natalya, thanks for the tips - I carefully modified the script per your suggestion and even went so far as to copy and change the GUIDs but I get this error:

Failed setting processor stylesheet: Invalid number of arguments Javascript: then it displays my code which looks same as yours except different GUIDs.

Natalya Voskresenskaya said...

I've found the problem here.
This is the updated javascript, the original one had been missing ";" before __redirect.

javascript: {ddwrt:GenFireServerEvent(concat('__workflowStart={{7696F6EA-2079-4A53-A97B-CE61D99A02AB},New,{66402E3B-C94E-4E6F-9936-10E596CC5795},ClassID=’,@ID,’};__redirect={MyClasses.aspx}'))}

Make sure you are not replacing GUID with mine, leave the one that SPD assigns to your action script.

I'll update the article to include the correct javascript string.

Anonymous said...

Thanks for the quick fix - here is my code:

javascript: {ddwrt:GenFireServerEvent(concat('__workflowStart={{CEC23631-7A10-44C5-97F4-DC25956F7A21},New,{CFDAB8BD-4F8A-4A1C-95BE-B86B83103A8E},ClassID=’,@ID,’};__redirect={MyClasses.aspx}'))}


still get same error as described though. SPD has a nasty habit of changing things without alerting me I have noticed.

Narsan said...

even after adding ";" before __redirect i am having the same issue. Can you make your solution as STP and allow us to download as template.

Thanks

Jay said...

Natalya, thanks for the tutorial and the fix for the problem. That had been driving nuts for a while now. It's a great article and gives a lot of insight into how powerful SharePoint can be.

Natalya Voskresenskaya said...

Guys, I appreciate all the attention this article got. It just gives such a great insight into what SharePoint community is looking for. I’ll upload the site template as soon as I figure out how you can create a site based of this stp template without losing the DataView data source. Any ideas are welcome.

Vishan said...

Hi. I ve noticed that the data view web part needs to be created again each time site template is open in a new site..
It is kind of annoying as ive noticed that it also conflicts with some of the workflows i.e incrementing the number.
Will be good if you can tell us how to save it in another site without losing the dataview webpart.
Thanks.

Anonymous said...

natalya, my problem it seems is that I don't understand how to set the 1 to 1 relationship you describe: "The title will be a value from Title field in Classes list where Classes:ID equals workflow variable “ClassID”". Don't get me wrong I understand what you mean, just not how to do it.

The drop-down boxes don't allow me to enter any such logic. Maybe if you add a screen shot where you set the relationship it may help - or possibly a ling to an article which explains the process.

Jay said...

Well I got it working, and it's working beautifully. There are some hiccups I would like to correct though. One major one is the ability to sign up for a class more than once. I have a detailed list posted at my own blog, here. I'm not sure how to get it to work in this instance.

Vishan said...

Hey has anyone found out how we can save the site as a tempalte and re open it in another location without losing the DataView WebpART.
Thanks.

Natalya Voskresenskaya said...

Hi Vishan.
I've posted it a while ago, right after your first comment about it :-).
Here is the link http://spforsquirrels.blogspot.com/2008/02/saving-site-as-site-template-with.html

Stef said...

Hi Natalya, great article! Its almost exactly what I need. Got it all working great after that extra ; :-)

Just wanted to know is it possible to create something where the user clicks 'Sign Up ' then has to fill in some more information about themselves first before an entry is added into the Trainees list? E.g. their department, manager or whatever.

Or even just have the user redirected to the editform.aspx of the Trainee item to fill out extra fields. I can't work out how to do this as you won't know the ID of the new Trainee item within the default.aspx page.

Any ideas?
Thanks for your great blog and posts; extremely helpful thanks!

Natalya Voskresenskaya said...

In the workflow it's self, you can create an initiation form.
When you create a workflow, on the bottom, next to workflow parameters you will see button called "initiation". This will allow you to gather additional information from a user.
That should be the better way instead of redirecting anywhere else.

Anonymous said...

Hi,

I can't seem to get to the original article. Can you please post the link - the one in the intro paragraph is dead.

Thanks

Anonymous said...

Is it possible to pass through multiple variables to the workflow using this same method? So let’s say that in addition to [ClassID=’,@ID,’] you also wanted to pass through another variable [RegistrationID=',@RegId,']. I have attempted this and viewing the generated source code for my page, the @RegId value is being populated, but I either don’t have the syntax correct or the workflow won’t accept more than 1 variable as the page isn’t responding correctly. Any ideas?

Natalya Voskresenskaya [SharePoint MVP] said...

In you case I would use different method, I would post parameters through form

Anonymous said...

Great post. I was going to write something similar. Will check this blog more often I think.