Pages

Showing posts with label Sharepoint 2010. Show all posts
Showing posts with label Sharepoint 2010. Show all posts

Thursday, July 4, 2013

SharePoint Designer workflows never reflects the new changes

 
I've ran into this scenario a lot it seems. I'm not sure if it's an issue with SharePoint Designer, or SharePoint itself, but the following seems to occur often:
 
I create a Workflow in SharePoint Designer, and when I save it, it's good to go, and works as expected. However, when opening it later for edits in SPD, I can make changes to the workflow, very large ones, and save it, and on the SharePoint site, it shows as a new version of this workflow, but never reflects the new changes I made to it.
 
 
For instance, I created a simple one to test, simply an email gets sent to me when a new item is created in a list. Works fine. However, when I add an item lookup in the body of the email, save the workflow again, and create a new item in my list, I still get a blank email, not the new item lookup in the body of the email as expected.
Is there some kind of timer with SharePoint updating workflows? Am I missing something here?
 
SOLUTION:
 
For SharePoint Designer, the solution is similar to Dave's solution.
It seems SharePoint Designer saves local copies of DLLs from your servers, and although everything seems OK, this prevents it from updating the workflow (this is when custom activities are involved, which the question didn't mention).
 
To solve this issue for MOSS 2007:
  1. Close SharePoint Designer
  2. Go to
    %LOCALAPPDATA%\Microsoft\WebsiteCache
    Or, on older versions of windows:
    C:\Documents and Settings\%USER%\Local Settings\Application Data\Microsoft\WebSiteCache
  3. Delete either (choose one, based on how annoyed you are by now):
    1. All folders.
    2. The folder that "looks most like your site" (can be more than one: site, site(1), etc, and should be the bottom level site, not the root site)
    3. The relevant DLL in that folder.
  4. Start SharePoint Designer, save the workflow again, it should be ok.
To solve this issue for SharePoint 2013 or 2010:

Go to the folder and delete the files and folders


    C:\Users\LOginUse\AppData\Roaming\Microsoft\Web Server Extensions\Cache
    C:\Users\LOginUse\AppData\Local\Microsoft\WebsiteCache
      Before that take backup  and delete it,
        some sites ask to delete the files and folders in the below location, Don't try to delete, Because after deleting the files the existing workflows never open
        C:\Users\LOginUser\AppData\Roaming\Microsoft\SharePointDesigner\ProxyAssemblyCache

         

        Wednesday, July 3, 2013

        STSADM Commands for Sharepoint 2010

        1.After activating or Deactivating or Deleting Infopath forms in the Central Admin then execute the below commands for immediate execution jobs

        stsadm -o execadmsvcjobs

        .....

         

        Thursday, June 27, 2013

        Friday, May 17, 2013

        Load Sharepoint List Items in the drop down list (Web part page) via SP Object Model


        Load Sharepoint List Items in the drop down list (Web part page) via SP Object Model

         

         

        private void populateAvailiability()

                {

         

                    try

                    {

         

                        ddlAvailability.Items.Clear();

                        string listName = "HR_Comp_Availability";

                        SPSite site = SPContext.Current.Site;

                        SPWeb web = SPContext.Current.Web;

                        Guid webGuid = web.ID;

                        Guid siteGuid = site.ID;

         

                        //new code for spsite

                        SPSecurity.RunWithElevatedPrivileges(delegate()

                        {

                            using (SPSite currentSite = new SPSite(siteGuid))

                            {

                                currentSite.AllowUnsafeUpdates = true;

                                currentSite.CatchAccessDeniedException = false;

                                using (SPWeb itemWeb = currentSite.OpenWeb(webGuid))

                                {

                                    SPList list = itemWeb.Lists[listName];

                                    SPView view = list.DefaultView;

                                    SPQuery query = new SPQuery();

                                    query.ViewFields = "";

                                    //query.Query = " ";

                                    SPListItemCollection items = list.GetItems(query);

                                    DataTable Availability2 = items.GetDataTable();

         

         

                                    if (Availability2.Rows.Count > 0)

                                    {

                                        ddlAvailability.DataValueField = "Title";

                                        ddlAvailability.DataTextField = "Title";

                                        ddlAvailability.DataSource = Availability2;

                                        ddlAvailability.DataBind();

                                        //ddlAvailability.Items.Insert(0, new ListItem("select", "0"));

                                    }

         

                                    else

                                    {

                                        ddlAvailability.Items.Clear();

                                    }

                                }

                            }

                        });

         

                    }

                    catch (Exception ex)

                    {

                        this.lblError.Text += ex.Message + " -- " + ex.StackTrace;

                    }

         

         

                }

        Get Active Driectory Information using ASP.Net Code


        You can get the below details from AD:

        Get the AD First Name
        Get the AD Last Name
        Get the AD Email
        Get the AD Designation
        Get the AD Department

        Use in the following Namespace :

        using System.DirectoryServices;

        protected string GetADUserInfo(string AccountName)
                {
                    //try
                    //{

                    // pass the account name as "jtan" remove the Domain name and "\\".
                    //production
                    string ldapQueryFormat = @"LDAP://DC=APACS,DC=STARS";
                    //VPC
                    //string ldapQueryFormat = @"LDAP://DC=APACS,DC=local";

                    string queryFilterFormat = @"(&(samAccountName=" + AccountName + ")
        (objectCategory=person)(objectClass=user))";
                    string email = "";
                    //production
                    using (DirectoryEntry root = new DirectoryEntry(ldapQueryFormat, "APAC\
        \Adminshrp", "Newuser1"))
                    //VPC
                    //using (DirectoryEntry root = new DirectoryEntry(ldapQueryFormat, "APAC\
        \Administrator", "p@ssw0rd"))
                    {
                        using (DirectorySearcher searcher = new DirectorySearcher(root))
                        {
                            searcher.Filter = queryFilterFormat;
                            SearchResult result = searcher.FindOne();
                            DirectoryEntry dr = result.GetDirectoryEntry();
                            if (dr.Properties.Count > 0)
                            {
                                email = dr.Properties["mail"][0].ToString();
                            }
                        }
                    }
                    return email;
                    //}
                    //catch (Exception ex)
                    //{
                    //    lblError.Text = ex.Message + "--" + ex.StackTrace;
                    //}
                }

        Tuesday, April 2, 2013

        Sharepoint Caluclation column

        1.Display date format like "dd-MMM-yyyy"

        =TEXT(StartDate,"dd-mmm-yyyy")

        Thursday, November 1, 2012

        Opening WebPart Maintenance Page

        Shortcut to open Instead of going to the Edit Properties form of the page, we can easily open the WebPart Maitenance page by just adding the following query string to the page URL
        ?contents=1
         So, if your page URL is 'http://kar/pages/default.aspx' then after appending the query string it should look like ' http://rams/pages/default.aspx?contents=1'

        Using this approach, we can open the webpart maintenance page for all the forms pages (like /pages/forms/allitems.aspx?contents=1).

        But its not safe to remove or add any webparts in these pages, as they may effect the normal funcitonality.

        This approach works on both MOSS 2007 and SPS 2010.