כוידעשלעך אַרטשיוועס: אָקטאָבער 2007

שאַרעפּאָינט דיזיינער — מנהג טעטיקייט צו ויספירן באַניצער-דיפיינד C # פאַנגקשאַנז

דערהייַנטיקן: דאס האט שוין באפרייט צו קאָדעפּלעקס דאָ: http://www.codeplex.com/spdwfextensions

דערהייַנטיקן: זען דאָ פֿאַר לעצט מעלדונג הערות: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

דערהייַנטיקן: זען דאָ פֿאַר מיין געדאנקען אויף קאַמערשאַלייזינג דעם פּרויעקט: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

This project provides a custom activity in SharePoint Designer. Use this custom activity to invoke (דעפּעש) any C# function that you incorporated into the linked assembly.

ווי פון שפּעט אקטאבער, 2007, this is just an initial version of the project. I plan to expand it with a number of additional functions, אַרייַנגערעכנט סובסטרינג, ינדעקס, פאַרבייַטן, invoking web services and anything that seems useful or interesting. I also plan to post this to codeplex once I have my act together on that front. This will also be deployable as a solution at some point.

אויב איר האָט קיין באַמערקונגען, שאלות אָדער פֿירלייגן, ביטע לאָזן זיי אין באַמערקונגען אָדער Email מיר.

אָפּלייקענונג:

I make absolutely no claims as to the suitability of this for any purpose. Use at your own risk.

ייַנמאָנטירונג טריט (צו זייַן נאכגעגאנגען פֿאַר יעדער וופע אין די פאַרם):

1. דאַונלאָוד די. פאַרשלעסלען און עקסטראַקט.

2. Install the .dll into the GAC. I usually open c:\Windows פֿאַרזאַמלונג ניצן Windows Explorer און קאָפּיע עס דאָרט.

3. מאָדיפיצירן וועב.קאָנפיג צו לייגן די פֿאַרזאַמלונג צו דער זיכער קאָנטראָלס:

<סיסטעמ.וואָרקפלאָוו.קאָמפּאָנענטמאָדעל.וואָרקפלאָווקאָמפּילער>
<אַוטהאָריזעדטיפּעס>

<authorizedType Assembly="SpdGenericInterface, ווערסיע = 1.0.0.0, קולטור = נייטראַל, פּובליקקייטאָקען = אַבע076פד8125פ3ק4" Namespace="Nivlag" TypeName="*" Authorized="True" />

4. Copy "SpdGenericInterface.actions" צו C:\פּראָגראַם פילעס קאָממאָן פילעס מייקראָסאָפֿט שערד וועב סערווער יקסטענשאַנז 12 מוסטער 1033 וואָרקפלאָוו

באַמערקונג אַז די אויבן אָרט איז ספּעציפיש צו ענגליש שפּראַך ינסטאַליישאַנז.

5. נאָענט שאַרעפּאָינט דיזיינער (אויב עס ס 'שוין עפענען).

6. ייסרעסעט

7. עפענען ספּד און שאַפֿן אַ נייַ וואָרקפלאָוו.

אויב אַלע גייט געזונט, איר זאָל זייַן ריוואָרדיד מיט אַ נייַ קאַטעגאָריע פון ​​קאַמף:

בילד

הערות:

זען דאָ (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) פֿאַר אַ גוואַלדיק איבערבליק פון דער פּראָצעס פֿאַר שאפן, ינסטאָלינג און קאַנפיגיערינג אַ לייזונג ווי דעם.

די. פאַרשלעסלען איז דיזיינד צו עקסטראַקט גלייַך צו איר C:\ drive. If you do this, איר קענען עפענען די פּרויעקט און אַלע די פּאַטס וועט זייַן קאָנסיסטענט.

צו נוצן דעם אין וויסואַל סטודיאָ, you probably need to install "Extensions for Windows WF".

The initial upload contains just one "dispatcher function", "ToLower()". To add more functionality, לייג עס צו די עקסעקוטע אופֿן ווי געוויזן:

 פּראָטעקטעד אָווועררייד אַקטיוויטיעקסעקוטיאָנסטאַטוס
          ויספירן(אַקטיוויטיעקסעקוטיאָנקאָנטעקסט עקסעקוטיאָנקאָנטעקסט)
        {

            שטריקל פונקטיאָנטאָדיספּאַטטש;
            פונקטיאָנטאָדיספּאַטטש = דעם.דיספּאַטטשפונקטיאָנ.טאָלאָווער();

            יבערבייַט (פונקטיאָנטאָדיספּאַטטש)
            {
                פאַל "tolower()":
                    {
                        דעם.אָוטרעסולט1 = דעם.ינפּאַראַמ1.טאָלאָווער();
                        ברעכן;
                    }

                ניט ויסצאָלן:
                    {
                        דעם.אָוטרעסולט1 = "Unknown function: [" + דעם.דיספּאַטטשפונקטיאָן + "].";
                        ברעכן;
                    }
            }

            צוריקקומען אַקטיוויטיעקסעקוטיאָנסטאַטוס.פארמאכט;
        } // אַקטיוויטיעקסעקוטיאָנסטאַטוס

    }

דעמאָלט, re-build the project and copy the assembly to the GAC. I expect an iisreset would be required.

ספּד וואָרקפלאָוו מנהג קאַמף – באַקומען די <וואָרקפלאָווינפאָ> פאַרבינדן רעכט צו ויסמייַדן פראַסטריישאַן

Part of the process for creating a custom action for SharePoint Designer involves create a ".actions" טעקע.

איך ווע געפונען און געפרוווט צו נוצן אַ מוסטער מוסטער וואָס סטאַרץ אַוועק ווי:

<?קסמל ווערסיע="1.0" סיסטעם="UTF-8" ?>
<
וואָרקפלאָווינפאָ קסמלנס="הטטפּ://schemas.microsoft.com / שאַרעפּאָינט /">
<
אַקשאַנז סאַקווענטשאַל="דעמאָלט" פּאַראַלעל="און">

אָבער, that xmlns attribute prevents my environment from working. My actions don’t show up in SPD.

די לייזונג איז צו פּאַס אויס די קסמלנס אַטריביוט, do an iisreset and close/re-open SPD.

שנעל און סימפּלע: קאַנפיגיער מאָך צו זוכן אַ ספּעציפיש דאָקומענט ביבליאָטעק

See UPDATE (איך) below (11/24/07) אויף ווי צו קאַנפיגיער מייקראָסאָפֿט אָפיס שאַרעפּאָינט סערווירער 2007 צו אינדעקס און קראָל נעטוואָרק פאָלדערס פֿאַר זוכן

אָביעקטיוו: I want to execute a search restricted to a specific document library. אין דעם פאַל, דער דאָקומענט ביבליאָטעק כּולל טריינינג דאָקומענטן.

טריט:

1. רעקאָרד די URL פון דעם דאָקומענט ביבליאָטעק.

2. שאַפֿן אַ פאַרנעם:

גיין צו הויפט אַדמיניסטראַציע.

אַקסעס די סספּ.

Go to "Search Settings".

Scroll down to the scope section and select "View Scopes".

Create a new scope. Give it a name and useful description.

3. דעפינירן פאַרנעם קריכן כּללים:

לייג אַ הערשן אַז דיפיינז די דאָקומענט ביבליאָטעק פֿאַר דעם פאַרנעם.

Select "web address" for "Scope Rule Type".

אַרייַן די נאָמען פון דיין טעקע (זען #1 העכער).

Accept the default value of "Include".

וואַרטן פֿאַר די פאַרנעם צו דערהייַנטיקן (אָדער אָנהייב עס מאַניואַלי).

4. געבן דעם פאַרנעם אין אַ פּלאַץ זאַמלונג.

גיין צו פּלאַץ זאַמלונג ווו איר ווילן צו נוצן דעם פאַרנעם.

לייג דיין נייַ פאַרנעם צו די צונעמען אַרויסווייַזן גרופּע אָדער גרופּעס.

5. זוכן!

אין דעם פונט, you’re done. Assuming the scope is properly defined, עס וועט זייַן בנימצא אין דער סקאָפּעס קאַפּ דאַונז פֿאַר פּשוט און אַוואַנסירטע אָנפֿרעגן און ווען איר זוכן ניצן אַז פאַרנעם, איר וועט נאָר באַקומען רעזולטאַטן איר דערוואַרטן.

הערות:

איך געשריבן דעם בלאָג פּאָזיציע ווייַל מיין אָנפֿרעגן פֿאַר פּשוט פאַרנעם סעטאַפּ פארקערט אַרויף טרוקן ניצן פראַסעס ווי:

  • קאַנפיגיער סקאָפּעס אין מאָך
  • קאַנפיגיער זוכן פאַרנעם מאָך
  • סקאָפּעס אין שאַרעפּאָינט 2007
  • סקאָפּעס אין שאַרעפּאָינט
  • זוכן אַ דאָקומענט ביבליאָטעק מאָך
  • סקאָפּעס ערשטער מאָך

איר קענען שאַפֿן אַ זוכן פאַרנעם אויף אַ טעקע, not just the entire document library.

א פאַרנעם קענען זייַן שערד אַריבער קייפל פּלאַץ זאמלונגען (פונ דאַנעט, a "shared service").

You can create the scope at the site collection level itself. אָבער, I prefer to go to central admin because I can start the crawl from there. You cannot start the crawl from the site collection.

דערהייַנטיקן (איך) ווי פון 11/24/07:

Kai Shang put together a great post entitled ווי צו קאַנפיגיער מייקראָסאָפֿט אָפיס שאַרעפּאָינט סערווירער 2007 צו אינדעקס און קראָל נעטוואָרק פאָלדערס פֿאַר זוכן @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

ניט זופּ פֿאַר איר! איז סיסקאָ די זופּ נאַצי פון נלב פּראָדוקטן?

הייַנט, I tried to access a document library via windows explorer. This doc lib is living inside a system that consists of two WFE’s load balanced by some kind of Cisco NLB solution. (אויב / ווען די נעץ וויזערדז זאָגן מיר וואָס עס איז, איך וועט דערהייַנטיקן דעם פּאָסטן).

Windows explorer couldn’t connect. I did some research and eventually, די נעץ וויזערדז האט געזאגט אַז וועבדאַוו איז פאַרקריפּלט דורך / ניט געשטיצט דורך / beneath the dignity of the NLB.

אַזוי, assuming the network wizards aren’t just telling me the network wizard equivalent of "take a long walk off a short bridge", איך האָבן צו ווונדער — טוט נלב, דורך נאַטור, דיסייבאַל וועבדאַוו? Do we lose our windows file explorer interface to SharePoint? Is Cisco the זופּ נאַצי?

אָנפירונג מאָך / ווסס ענוויראָנמענץ — בעכעסקעם אַרויף מיט מייקראָסאָפֿט 'ס וויסן באַזע

Microsoft creates knowledge base articles day in and day out and some of those are darned important to know about if you live in the SharePoint world.

איך האַלטן זיך צו גיכקייַט מיט זיי דורך אַ דינסט צושטעלן דורך די גוט פאָלקס בייַ www.kbalertz.com. KBAlertz enables you to sign up for your favorite MS technology and they send you digest versions of Microsoft KB articles via email.

וועב אַפּפּליקאַטיאָן פּאָליטיק, זיכערהייַט זייטלעך און זיכערהייַט טרימינג — וויסן דיין קאַנפיגיעריישאַן

(דערהייַנטיקט 11/29 צו דערקלערן ווי צו צוטריט וועב אַפּלאַקיישאַן פּאָליטיק סעטטינגס דורך די וי)

I had one of those "why is MOSS doing this to me????" moments today. אין די סוף, עס ס אַלע מיין שולד.

We have an enterprise MOSS project going on and we want to secure "place holder" sites so that no user may access it or see it. That’s easy:

  1. גיין צו די פּלאַץ.
  2. ברעכן די זיכערהייַט ירושה.
  3. נעם יעדער באַניצער / גרופּע פון ​​פּלאַץ פּערמישאַנז.

דער אויבן זאָל לאָזן נאָר דעם פּלאַץ זאַמלונג אַדמיניסטראַטאָר מיט דערלויבעניש צו זען די פּלאַץ.

אויב ווער עס יז אַנדערש לאָגס אין, זיי זאָל ניט מער זען די פּלאַץ און עס זאָל זייַן זיכערהייַט-טריממעד פון אַלע די געוויינטלעך ערטער.

אָבער … עס איז ניט. אין דער זעלביקער צייַט, I suddenly realize that my "Joe User" standard user test account with no priv’s other than restricted read access has a "Site Actions" choice everywhere he goes. I double check one thing and double check something else. I pick up the phone to call a colleague, but put it down and check something else. I go for a walk and try everything all over again. I call a colleague and leave a message. And then, לעסאָף, איך געפינען וואָס בייַ עטהאַן ס בלאָג, his opening graph makes it quite simple:

מאָך 2007 האט אַ נייַ שטריך גערופן וועב אַפּפּליקאַטיאָן פּאָליסיעס. די ביסט זיכערהייַט פּערמישאַנז אַז איז טייד צו אַ וועב אַפּפּליקאַטיאָן. די זיכערהייַט סעטטינגס אָווועררייד קיין זיכערהייַט באַשטעטיקן אַז איז שטעלן בייַ די מאַפּע קאַלעקשאַן אָדער מאַפּע (נעץ) מדרגה פֿאַר אַז באַניצער.

A quick visit to web application policies shows that "NT Authority\authenticated users" had been granted Full Read. I removed them from the list and everything finally started working as expected. I believe they were added in the first place by someone with the mistaken impression that that is best method to grant read access to everyone in the enterprise. It does, אָבער, צו שפּאַנונג אַ ציטירן, "It does not mean what you think it means."

Access web application policies this way:

  1. גיין צו סענטראַל אַדמיניסטראַציע
  2. אויסקלייַבן אַפּפּליקאַטיאָן פאַרוואַלטונג
  3. Select "Policy for Web Application"
  4. אויף וואָס פאַרשטעלן, make sure you pick the correct web application. פֿאַר מיר, עס דיפאָלץ צו די וועב אַפּלאַקיישאַן פון הויפט אַדמין וואָס זאל נישט זייַן דער איין איר ווילן.

ווען איך געהאט דעם פּראָבלעם, איך געזוכט פֿאַר די ווייַטערדיק פראַסעס און גאַט סאַפּרייזינגלי ביסל אין טערמינען פון דירעקט העלפן אויף דעם אַרויסגעבן:

פּלאַץ אַקשאַנז קענטיק פֿאַר אַלע ניצערס

פּלאַץ אַקשאַנז קענטיק צו אַלע ניצערס

פּלאַץ אַקשאַנז זענען נישט זיכערהייַט טריממעד

זיכער אַ מאָך פּלאַץ

הקדמה צו מאָך זיכערהייַט

טעטשנאָראַטי טאַגס:

שנעל און סימפּלע: ניצן פיקסט קייוואָרד קווערי אין זוכן קאָר רעזולטאַטן

שנעל און פּשוט ינסטרוקטיאָנס:

רעדאַגירן אַ בלאַט און לייגן אַ זוכן קאָר רעזולטאַטן וועב טייל.

Edit that web part and expand "Fixed Keyword Query".

לייג די פאַרפעסטיקט קיווערד אָנפֿרעג (e.g. קאָנטענטטיפּע:"Training invoice" טראַינינגינוואָיסענומבער:1111)

Expand Results Query Options and change "Cross-Web Part query ID" to a value other than "User Query" (e.g. "Query 2").

הערות:

Using core search results in this manner allowed me to create a page that shows information from another site collection. The client has two major site collections: דיפּאַרטמאַנץ און פּראָדוקטן.

דער פּראָדוקט פּלאַץ זאַמלונג כּולל, געוויינטלעך גענוג, product information. Each product in the site collection aggregates data from multiple sources.

איינער פון די דיפּאַרטמאַנץ, קאָודז און טעסטינג, is on such source. When users access product XYZ, they should see codes and testing data directly on the XYZ main page. Since codes and testing is hosted in another site collection, it’s a little awkward. We decided to use the core search results web part since search spans site collections. Codes and Testing manages product data via a custom list that is constrained by a specific content type. Aa keyword query that uses first the content type and then the product number narrow down the search to a single row in the custom list.

The keyword query above is an AND. It returns documents of content type "Training Invoice" and where the invoice number equals "1111".

א פייַן נוץ פון דעם צוגאַנג: We can edit the XSL from the core search results web part and generate any format that we want.

זען דאָ (http://devcow.com/blogs/jdattis/archive/2007/04/17/SharePoint_2007_How_to_Rollup_Content_from_multiple_Site_Collections.aspx) פֿאַר אן אנדער בלאָגגער ס דיסקוסיע אויף דעם טעמע.

</עק>אַבאָנירן צו מיין בלאָג.

דערציילט מיר וועגן דיין בלאָג!

אויב איר טייַנען אַ בלאָג וואָס איז לפּחות מינאַמאַלי פארבונדן צו שאַרעפּאָינט, please let me know in comments. I would love to add you to my בלאָג רשימה.

אויב איר טייַנען אַ בלאָג וואָס איז ניט פארבונדן צו שאַרעפּאָינט אָבער ווילן מיר צו לייגן עס סייַ ווי סייַ, לאָזן מיר וויסן. I’ll may create a separate blog list.

ביטע געבן:

  • דיין בלאָג URL (דאָך)
  • א קורץ באַשרייַבונג פון דיין בלאָג.

I want to keep the link to "active" בלאָגס, which I’m roughly defining as one post per week and minimum three months old. If you don’t meet that "requirement" add your name to comments anyway. It’s *my* list so I can break my own rule if I want to.

דאַנק!

אָנגעשטעלטער טראַינינג פּלאַן און מאַטעריאַלס מוסטער — דעקרעמענט באַג אין דער מוסטער

The client noticed a bug today with the above mentioned template.

Course managers create courses. When creating a course, די פאַרוואַלטער ספּעסאַפייז מאַקסימום נומער פון פאַראַנען סיץ.

The template provides for self-service enrollment. I enroll and a workflow attached to the registration list decrements the "available seats" פארבונדן מיט וואָס לויף.

Individuals may also unregister from a course. The bug lies here. Unregistering from a course does not increment the available seats counter. ווי אַ רעזולטאַט, available seats is not accurate. This bug is compounded by the fact that when available seats decrements to zero, ניט מער זיך-דינסט רעגיסטראַציע איז ערלויבט.

צומ גליק, Microsoft provides the workflow for this process. Even better, עס ס אַ גלייַך-פאָרויס וואָרקפלאָוו באשאפן דורך שאַרעפּאָינט דיזיינער.

גיי די הויך מדרגה טריט צו פאַרריכטן עס:

  1. פייַער אַרויף סדפּ.
  2. אַקסעס די פּלאַץ באזירט אַוועק די טריינינג מוסטער.
  3. Access "Attendee unregistration" וואָרקפלאָוו.
  4. אַרייַנלייגן די טריט (איך געמאכט זיי דער ערשטער צוויי טריט):
    1. רעכענען קאָרסאַז:אָנגעפילט סיץ מינוס 1 (רעזולטאַט צו בייַטעוודיק:קאַלק)
    2. (דעמאָלט) דערהייַנטיקן נומער אין קאָרסאַז

גיט ענדיקן און איר ניטאָ געטאן.

סקרין שאַץ:


שאַרעפּאָינט דיזיינער:

בילד

פאַרטיק וואָרקפלאָוו:

בילד

רעכענען בויער-אַראָפּ:

בילד

דערהייַנטיקן נומער אין קאָורסעס:

בילד

געבן גוט נייַעס אָפט; געבן שלעכט נייַעס פרי

איך ווע געווען אַ קאָנסולטאַנט פֿאַר אַ פּלאַץ פון יאָרן איצט און ווי קיין איבערגעלעבט קאָנסולטאַנט ווייסט, good communication is one of the key pillars to the successful delivery of a project. עס ס אַזוי קלאָר ווי דער טאָג, it’s really almost boring to talk about. This isn’t a post about generic communication. אַנשטאָט, איך בין שרייבן וועגן די דאַרקער זייַט פון קאָמוניקאַציע — קאַמיונאַקייטינג שלעכט נייַעס.

עס גייט אָן געזאגט אַז געבן גוט נייַעס צו די קליענט איז געטאן אַלע די צייַט, as often as possible. Who doesn’t want to give good news? Who doesn’t like to hear good news?

אויף די פליפּ זייַט, bad news is no fun at all. I have always struggled with this. In the earlier days of my career, איך וואָלט וויסן עפּעס איז געווען אַפ אַ צייַט מיט אַ פּרויעקט און אַנשטאָט פון טעלינג די קליענט, I would work longer hours to try and solve the problem. I would enjoin my team to work harder. It’s a natural enough impulse to think that a super-human effort can save the day. Some times this works, some times it does not. Even when it "works" it’s often a mixed bag. Is the quality of the deliverable really up to spec when key parts have been developed over several 60 צו 80 שעה וואָכן?

וואָס איז דער בעסטער וועג צו שעפּן שלעכט נייַעס? The answer is: tell it early. Don’t wait until one week before the project budget will be consumed. If you know six weeks out that there simply isn’t enough time to deliver some bit of promised functionality, tell the client right then and there. The client may get upset (מיסטאָמע וועט), there may be incriminations and accusations and hurt feelings. אָבער, ווען ימאָושאַנז קיל אַוועק, there’s still six weeks left on the project. Six weeks is a good chunk of time. There’s time to adjust plans, טוישן סקעדזשולז, באַקומען די פּילקע ראָולינג אויף בודזשעט יקסטענשאַנז (זאָל זייַנ מיט מאַזל!) and just generally come to grips with the "facts on the ground" and devise a new plan that still results in a successful project.

פאַל אין פונט: איך בין ארבעטן אויף אַ פּרויעקט קעראַקטערייזד דורך:

  • ה&E budget with a capped "Not to exceed" דאָלאַר סומע.
  • A "best efforts will be made" צוזאָג צו באַפרייַען רענטגענ, י און ז דורך פּרויעקט ס סוף.
  • Lack of promised key resources on the client side. These resources were not withheld on purpose, nor for any "bad" פאַרוואָס, אָבער זיי זענען געווען וויטכעלד.
  • A dawning realization as the project passed the half-way point that we were not going to be able to deliver "Z" (דער הויפּט ווייַל די צוגעזאגט רעסורסן זענען נישט פאקטיש בנימצא).
  • Regular status reports and "CYA" דאַקיומענטיישאַן אַז באַקט אונדז (די קאַנסאַלטינג קאָלעקטיוו) up.
  • טייטלי שטריקן ימפּלאַמענטיישאַן קאָלעקטיוו מיט מיטגלידער ציען פון די קאַנסאַלטינג אָרגאַניזאַציע (מיין געזעלשאַפט) און דער קליענט.
  • ווייַט פאַרוואַלטונג קאָלעקטיוו, in both a metaphorical and physical sense. The management team was focused on another large enterprise project and due to space constraints, די ימפּלאַמענטיישאַן מאַנשאַפֿט איז כאַוזד אין אַ באַזונדער בנין אויף קאַמפּאַס, down a hill and relatively far way from "civilization".

מיט בעערעך זעקס וואָכן לינקס אויף די פּרויעקט בודזשעט, מיר (די ימפּלאַמענטיישאַן קאָלעקטיוו) knew that we were trouble. The contract said that we needed to deliver "Z". Even though the project is time & materials and even though we only promised "best efforts" צו באַפרייַען ז און אַפֿילו כאָטש מיר האבן גרויס טערעץ פֿאַר פעלנדיק די עקספּרעס … די דנאָ שורה איז אַז עס איז נישט קוקן גוט — מיר זענען נישט געגאנגען צו באַפרייַען ז אין אַ פאָרעם אַ קוואַליטעט וואָס וואָלט מאַכן ווער עס יז שטאָלץ.

רעקאַגנייזינג דעם, מיר זענען צו פאַרוואַלטונג און דערציילט זיי אַז דער פּרויעקט בודזשעט וואָלט זייַן קאַנסומד דורך אַ זיכער דאַטע און אַז מיר זענען אין קאָנפליקט מיט ז.

א מיני פיירסטאָרם יראַפּטיד איבער דער ווייַטער ביסל טעג.

טאָג 1: פאַרוואַלטונג מאַנשאַפֿט רופט אין זייַן שטעקן פֿאַר אַ ספּעציעל באַגעגעניש (מיר, די קאָנסולטאַנץ זענען נישט פארבעטן). Contracts are printed and handed out to everyone and a line-by-line review ensues. Management puts the staff members on the defensive. I don’t think the phrase "סטאָקכאָלם סינדראָמע" איז * פאקטיש * געוויינט, אָבער איר באַקומען די בילד. We’re a tight-knit group, נאָך אַלע, און דער שטעקן האט שוין ארבעטן מיט אונדז קאָנסולטאַנץ טאָג אין און אויס פֿאַר עטלעכע חדשים איצט.

טאָג 2: Management calls another staff meeting. They feel a little better. They want options and ideas for moving forward. They realize there’s still six weeks remaining in the current project budget, which is still a decent bit of time. One of the action items: פּלאַן אַ באַגעגעניש מיט פול ימפּלאַמענטיישאַן קאָלעקטיוו (אַרייַנגערעכנט קאָנסולטאַנץ).

טאָג 5: גאַנץ מאַנשאַפֿט מיץ, constructive meeting ensues and a new achievable plan put into place. Even better, we’ve already begun discussing phase two and the client invites us to prepare proposals for that phase immediately.

אויב מיר האט געווארט ביז נאָר דרייַ וואָכן פארבליבן, אָדער אַפֿילו ערגער, איינער אָדער צוויי וואָכן, it would have been much different. Instead of a constructive meeting to re-align the project, מיר וואָלט האָבן שוין פּולינג אויס סטאַטוס מעלדעט, parsing the contract and reviewing old emails to justify this or that decision. We would have "won" but is it really "winning" אין דעם פאַל?

אַזוי, אויב איר האָט צו געבן שלעכט נייַעס, give it early. Bad news given late isn’t just bad, עס ס שרעקלעך.