გამოსავალი პრობლემური: “FileNotFoundException” ერთად ჩემი მხატვრული მიმღები.

I was working on a feature last week that would add some event receivers to a specific list instance. (მე blogged ცოტა შესახებ, რომ სიაში მიმღები აქ).

გამოყენება ბრძანება ხაზი, მე ვერ დააყენოთ ფუნქცია არ შეცდომა (მაგრამ იხილეთ ქვემოთ ფარული შეცდომა). When I tried to deploy the feature on the site, MOSS complained of a "FileNotFoundException" error. This blog entry describes how I solved it.

ეს არის შეცდომა, რომ MOSS აჩვენა ჩემთან ბრაუზერში:

Feature ‘b2cb42e3-4f0a-4380-aaba-1ef9cd526f20’ could not be installed because the loading of event receiver assembly "xyzzyFeatureReceiver_0" ჩაიშალა: System.IO.FileNotFoundException: Could not load file or assembly ‘xyzzyFeatureReceiver_0’ ან მისი დამოკიდებულებები. სისტემა ვერ პოულობენ ფაილი არაა მითითებული.
ფაილის სახელი: ‘xyzzyFeatureReceiver_0’
at System.Reflection.Assembly.nLoad(AssemblyName ფაილის სახელი, სიმებიანი codeBase, მტკიცებულება assemblySecurity, ასამბლეის locationHint, StackCrawlMark& დასტის ნიადაგის, ლოგიკური throwOnFileNotFound, ლოგიკური forIntrospection)
at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, მტკიცებულება assemblySecurity, StackCrawlMark& დასტის ნიადაგის, ლოგიკური forIntrospection)
at System.Reflection.Assembly.InternalLoad(სიმებიანი assemblyString, მტკიცებულება assemblySecurity, StackCrawlMark& დასტის ნიადაგის, ლოგიკური forIntrospection)
at System.Reflection.Assembly.Load(სიმებიანი assemblyString)
at Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
WRN: ასამბლეის შესასრულებლად სავალდებულო ჭრა გამორთულია.
იმისათვის, რომ ჩავრთოთ ასამბლეის სავალდებულოა მარცხი ხე, მითითებული რეესტრის ღირებულება [HKLM Software Microsoft Fusion!EnableLog] (DWORD) to 1.
შენიშვნა: არსებობს გარკვეული წარმოდგენა საჯარიმო ასოცირდება ასამბლეის სავალდებულოა მარცხი ხე.
გახდეს ამ ფუნქციის off, ამოიღონ რეესტრის ღირებულება [HKLM Software Microsoft Fusion!EnableLog].

პრობლემების საკითხებზე Windows SharePoint Services.

მე ვიცი, როგორ განზრახ იწვევს, რომ შეცდომა: don’t install the assembly in the GAC. მაგრამ, it was in the GAC. I normally install assemblies into the GAC by dragging them into the c:\windows\assembly folder using windows explorer. I’ve never felt 100% კომფორტული აკეთებს, რომ რადგან მე ყოველთვის ვფიქრობდი, რომ gacutil არსებობდა მიზეზი … so I tried that. It made no difference.

მე ჩხრეკა Internets და აღმოჩნდა ჩანაწერი: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1

ვებ მოხდა, რომ იმავე ძირიდან ცოტა კოდი (შიგნიდან WSS წიგნაკი სიიდან) so that was a hopeful sign. თუმცა, წინადადებით დეკორატიული ასამბლეის [შეკრებისა: ] directive didn’t make sense to me. I tried it anyway and I was right. It made no difference.

Then I noticed that my class definition was not public. I made it public and that made no difference.

შემდეგი, I went to the trouble of enabling the "assembly bind failure log" (შემდეგ სასარგებლოა და ზუსტი ინსტრუქციებით გათვალისწინებული) and this is where things started to get interesting. That log shows me that the runtime is searching everywhere on that server for my assembly. It even appears to be searching for it in my medicine cabinet. მაგრამ … ეს არ მოძებნოთ იგი GAC.

I put on my winter jacket and go searching the Internets again and find that someone has had this problem too. The lengthy discussion in that posting peters off into nothing and I can’t find a solution.

I move my assembly into one of the places the log claims it’s searching and I make a little more progress. I’m rewarded with a new error in the browser when I try to activate the feature:

Failed to create feature receiver object from assembly "xyzzyFeatureReceiver_0", type "Conchango.xyzzyFeatureReceiver" მხატვრული b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: ღირებულება არ შეიძლება იყოს null.
პარამეტრის სახელი: ტიპის
at System.Activator.CreateInstance(გაცნობის ტიპის, ლოგიკური nonPublic)
at System.Activator.CreateInstance(გაცნობის ტიპის)
at Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

პრობლემების საკითხებზე Windows SharePoint Services.

ახლა ერთი ბოლო მოგზაურობა Internets!

ამჯერად მე გასარკვევად, როგორც მოსალოდნელი საკმარისი, that MOSS issues this error because the assembly is not in GAC.

მე მინდა რაღაც პოზიტიური აქედან და ცდილობენ გრძნობენ ცოტა ვამაყობთ, რომ მე შექმნა გაქცეული of MSIL შეკრებებისა, but it’s not working. I’m just plain annoyed. I find myself muttering "chicken or the egg" ქვეშ ჩემი სუნთქვა.

I finally decide to punt. I create an entirely new project and copy/paste the code from the incredible-cloaked-from-the-GAC-assembly non-working project over to this new project. (I look for a build flag called something like "hide from assembly binding if installed in the GAC" მაგრამ ვერ პოულობენ ერთი).

მე დააყენოთ ფუნქცია და გაააქტიუროთ იგი და … მუშაობს! ასე რომ,, შემდეგ ყველა, რომ, I had to basically ‘reboot’ my project. ეს არის კიდევ ერთი მიზეზი, რის გამოც მე სიძულვილი კომპიუტერი.

I did learn something useful from this. I had been installing features using the stsadm command line all day long and been using the "-force" option out of habit. რატომღაც, I did not use the -force option when I installed the new project. ამჯერად, მე რეალურად, truly forget to copy this new project’s assembly into the GAC. შედეგად, I received that "FielNotFoundException" error. ამჯერად, მე მივიღე ეს stsadm, not when I tried to activate the feature via the web browser. ასე რომ,, -force actually plays two roles. It allows you to re-install an existing feature. It also allows you to install a buggy feature that cannot work at runtime by suppressing the error. It probably says as much in the help somewhere but I never noticed it.

</ბოლო>

კვირა სასაცილო: ყველაზე 10 გზებს ნერვების მოშლის შენი ცოლი

  1. ყიდვა ბროკოლი, როდესაც თქვენ იცით, რომ უკვე საკმარისზე მეტი in მაცივარი.
  2. Go for a run. Cool off. Take off clean pillow case and replace with T-shirt. Cover with clean pillow case.
  3. როდესაც მართვის, ვთხოვთ, თუ ჩვენ უნდა წავიდეს არასწორი გზით ქვემოთ ერთი გზა ქუჩაში.
  4. იყიდება 15 წელი, every Sunday that you wife suggests going to a museum, გამოხატული გასაკვირი, რომ მუზეუმებში ღიაა კვირას ნახვა.
  5. იყიდება 15 წელი, occasionally suggest going to the local book store on Sunday. Express surprise that they are not open on Sunday’s (დიდი მადლობა Blue კანონები!).
  6. გამოყენება 20 რაოდენობა უნდა გააკეთოს 3 point turn.
  7. On cool ადრე შემოდგომაზე დღის მეორე ნახევარში, walk into the room and turn on the A/C. Complain that it’s cold. When wife says, "then why did you turn that on, სულელური" და იღებს მდე აქციოს ეს off, grab the warm spot she had on the couch. Bonus points if she does not realize you did it until much later.
  8. ქმნის რა გემრიელი თეთრი ALBACORE tuna და ჭამა ეს პირდაპირ შეიძლება, საწოლი, ღამით.
  9. წასვლას სამზარეულო ხოლო ცოლი კვების სადილის, ქმნის დანაჩანგალი უჯრის და ბიძგი ჭურჭელი გარშემო მანამ, სანამ ცოლი ყვირილის, "what are you looking for!"
  10. On receipt of new business cards, secretly place them all around the house: Under the bed, in pillow cases, inside coffee cups, in her purse, in coat pockets, car glove compartments, the pantry — anywhere you can think of.
  11. Write blog entries about your wife.
  12. Wake up.
  13. When walking the streets of New York City, be on the alert for "crusty" objects on the ground. Keeping in mind your wife’s special fears, reach down as if to pick one up up and ask, "hmm, I wonder what that is?" (Be prepared for wife to body slam you as if she’s a secret service agent protecting the President from a sniper or you’ll find yourself laying on your back on the sidewalk).
  14. Drive twice around a parking lot looking for space. You know you’ve really hit pay dirt when your son in the back seat yells, "Oh no! მან აკეთებს ამას ერთხელ!"
  15. Write "top 10" სიები, რომელთაც არ ჰყავთ 10 ნივთები.

===

ბონუს მეუღლე ხუმრობა:

Two male co-workers go out to lunch. One of them tells the other, "I let loose an embarrassing Freudian slip the other night."

"A Freudian slip? What’s that?"

"Well, როდესაც ჩვენ დასრულდა ჭამა, მიმტანი მოვიდა მიერ და ჰკითხა, თუ როგორ ჩვენ მომეწონა ჩვენი კვების. მე კი იმას ნიშნავდა, ვთქვათ,, ‘I loved the chicken breast’ but instead I said ‘I loved your breasts’. I was so embarrassed."

"Ah," his co-worker replied. "I had the same thing happen to me this weekend with my wife. We were eating breakfast I meant to ask her to pass the butter, but instead I screamed at her, ‘You ruined my life!'"

</ბოლო>

პროგრამები Tags:

ღონისძიების ID 1023: “Windows ვერ ვტვირთავ გააფართოვოთ counter DLL MSSCNTRS”

განახლების (04/08/08): I seem to have solved this problem. From the command line, I ran "c:\Windows system32 lodctr / რ" როგორც პოსტი შესვლის ვსაუბრობთ InstallShield პრობლემები და რომელიც, როგორც ჩანს არ მოგვარდება ეს ჩემთვის.

მე არ შენიშნა, რომ ბოლო პერიოდში, my desktop/server fan never turns off. I know it used to turn off. I took a moment to check it out noticed that the a VMware process was running a consistent 20% utilization on one of the CPU’s. I checked the event log and saw these errors in the application log happening dozens of times per minute:

Windows ვერ ვტვირთავ გააფართოვოთ counter DLL UGatherer, პირველი DWORD მონაცემთა მონაკვეთი Windows შეცდომის კოდი.

Windows ვერ ვტვირთავ გააფართოვოთ counter DLL UGTHRSVC, პირველი DWORD მონაცემთა მონაკვეთი Windows შეცდომის კოდი.

Windows ვერ ვტვირთავ გააფართოვოთ counter DLL MSSCNTRS, პირველი DWORD მონაცემთა მონაკვეთი Windows შეცდომის კოდი.

თუ მე საბურღი შევიდა დეტალებზე ერთ იმ შეტყობინებები, მივიღებ ამ:

წყარო: Perflib

გაცნობის: შეცდომა

კატეგორია: არა

ღონისძიების ID 1023

I did some research and there was some indication it could be a permission problem in terms of access to the DLLs in question. I played around with that stuff but could not affect things in a positive way so I gave up on that.

VMware იყო nagging ჩემთვის ასრულებენ განახლება საკმაოდ გარკვეული დრო, ასე რომ jotted ქვემოთ მობილური მქონდა დაყენებული (apparently "1.0.1 build 29996") and did the update. This upgraded me to v1.04. სამწუხაროდ, ეს არ დაფიქსირება საკითხი.

I can stop the insane number of messages going to my application log if I shut down a service named "VMware Authorization Service". This prevents me from using the VMware software, ასე … not such a great option.

მასპინძელი ოპერაციული სისტემის Windows XP 64 ცოტა.

მე არ ვფიქრობ, რომ ეს ყოველთვის ხდებოდა, მაგრამ მე არ გავიხსენოთ რომელიმე კონკრეტულ შემთხვევაში, შესაძლოა, გამოიწვია ის.

ამიტომ, მე სიძულვილის კომპიუტერი.

</ბოლო>

პროგრამები Tags:

სწრაფი & მარტივი: სახელის დამატებულია ფაილი გამოყენებით SharePoint ობიექტური მოდელის ვია თარიღის მიმღები

განახლების: This works but there are significant limitations which are described in the comments. This may still be useful in some cirumstances.

განახლების 2: ჩემი მიმდინარე პროექტის, users always upload documents. შედეგად, I don’t run into a problem where MS Word is running and thinks that the file was renamed on it. I did run into a problem, "the file was modified by someone else" and solved this via a simple semaphore type flag. Users need to change a meta data field from its default value to something else. The itemupdated() მიმღები ეძებს მოქმედი ღირებულება არსებობს, სანამ რეალურად ასრულებენ გადარქმევა და მას შემდეგ, I have not had any problems. Your mileage may vary.

I have a client requirement to change the name of files uploaded to a specific document library to conform with a particular naming convention. The API does not provide a "rename()" მეთოდი. ამის ნაცვლად, ჩვენ ვიყენებთ "MoveTo(…)". Here is a minimal bit of code to accomplish this:

 საჯარო override ცნოს ItemAdded(SPItemEventProperties თვისებები)
        {
            SPFile f = properties.ListItem.File;

            f.MoveTo(properties.ListItem.ParentList.RootFolder.Url + "/xyzzy.doc");
            f.Update();

        }

The only tricky bit is the "properties.ListItem.ParentList.RootFolder.Url". The MoveTo() method requires a URL. That mashed up string points me to the root folder of my current document library. This allows me to avoid any hard coding in my event receiver.

ეს არის უფრო სასარგებლო ვერსია, რომ იგივეს შვება, but assigns the name of the file to "Title":

 საჯარო override ცნოს ItemAdded(SPItemEventProperties თვისებები)
        {
            DisableEventFiring();

            // მიანიჭეთ ტიტული ამ ელემენტის სახელით ფაილი თვით.
 // შენიშვნა: ეს დავალება უნდა მოხდეს, სანამ ცვლილებები ფაილი თვით.
 // მოვუწოდებთ განახლება() on SPFile ჩანს გაუქმების ქონების
 // გარკვეული.  Updates to "Title" ვერ მოხერხდა, სანამ, რომ ცვლილება (და განახლება() მოვუწოდებთ)
 // იყო გადაინაცვლა ცვლილება ფაილი სახელი.
            properties.ListItem["Title"] = Properties.ListItem.File.Name;

            properties.ListItem.Update();

            SPFile f = properties.ListItem.File;

            // მიიღეთ გაგრძელების ფაილი.  ჩვენ გვჭირდება, რომ მოგვიანებით.
 სიმებიანი spfileExt = ახალი ფაილის სტატისტიკა(f.Name).გაფართოება;

            // Rename the file to the list item's ID and use the file extension to keep
 // that part of it intact.
            f.MoveTo(properties.ListItem.ParentList.RootFolder.Url +
                "/" + properties.ListItem["ID"] + spfileExt);

            // Commit the move.
            f.Update();

            EnableEventFiring();
        }

ფორუმი ფორუმი: აღსრულების საუკეთესო პრაქტიკა შესაბამისობის არასამთავრობო ტრივიალური MOSS გარემო

თანამემამულე, "Mark", has started up a potentially interesting newsgroup discussion focusing on "establishing excellent SharePoint Governance from the start" ამისთვის 35,000 შესახებ გარემოს.

დისკუსია აქ: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6

პოპ მდე და ხელი შეუწყოს!

</ბოლო>

საბაჟო სამოქმედო URL ვერ ჩვენების ახალი მხატვრული

I’m still in the habit of crafting my feature XML files by hand since it’s all quite new to me. I don’t want to rely on a front-end tool that does stuff I don’t understand (მან განაცხადა, როგორც მან დაწერა წაკითხვა შესვლის გამოყენებით ინსტრუმენტი მისთვის გაუგებარია).

დღეს, I was trying to add a custom action to the site settings but it just wouldn’t show up. I could install the feature and see it in the site features, but when I activated it (without error) it simply wouldn’t show up on the drop-down menu.

I finally realized that I misspelled "SharePoint" in the Location attribute of the <CustomAction> კვანძის. This is the bad elements.xml file:

<?xml მობილური="1.0" კოდირების="utf-8" ?>
<ელემენტები xmlns="http://schemas.microsoft.com / SharePoint /">
  <CustomAction
 Id="SiteActionsToolbar"
 GroupId="SiteActions"
 საიდან="Microsoft.Sharepoint.StandardMenu"
 Sequence="100"
 სათაური="გამარჯობა!"
 აღწერა="Custom menu action added via a feature."
 ImageUrl="_layouts/images/menuprofile.gif">

    <UrlAction Url="http://www.xyzzy.com"/>

  </CustomAction>
</ელემენტები>

Good:

<?xml მობილური="1.0" კოდირების="utf-8" ?>
<ელემენტები xmlns="http://schemas.microsoft.com / SharePoint /">
  <CustomAction
 Id="SiteActionsToolBar"
 GroupId="SiteActions"
 საიდან="Microsoft.SharePoint.StandardMenu"
 Sequence="100"
 სათაური="გამარჯობა!"
 აღწერა="Custom menu action added via a feature."
    >
    <UrlAction Url="http://www.xyzzy.com"/>
  </CustomAction>
</ელემენტები>

ამ ერთი კარგი ორი საათი დამჭირდა იმის გასარკევად

I take solace in the fact that some day in the future, I’ll be able to say with conviction, "back in the day, მე ფეხით სამი მილის up hill in თოვლის (barefoot!) in order to deploy a custom feature to MOSS. You kids, თქვენ არ ვიცი, რამდენად მარტივია თქვენ ეს! Get off my lawn!"

ვერ დაველოდებით.

</ბოლო>

პროგრამები Tags: ,

დღიური სტატისტიკა

I thought some people might be interested in my blog’s statistics. You can use mine as a benchmark to compare your own.

I’m running my blog on windows live spaces. They collect stats for me and I don’t know any way to control that. It’s good as far as it goes, but it’s fairly limited in that I can’t do much actual analysis with it. I’d love, მაგალითად, to be able to generate a listing of my most frequently hit posts but I can’t do that without a prohibitive manual process. If someone knows better, გთხოვთ მითხრათ.

ცოცხალი ფართები სტატუსი მეუბნებოდა: სულ ნახვები დღისთვის, total hits for the week and total hits since day zero. It also tells me what people did to get to my blog (e.g. Google, MSDN ფორუმზე რგოლი, და ა.შ.).

გარკვეული თვალსაზრისით, a "hit" აშკარაა. თუ თქვენ კითხულობთ ამ წინადადებას ახლავე, თქვენ ალბათ რეგისტრირებულია, როგორც ერთ ჰიტ.

RSS is a little confusing. On one hand, I see individual RSS hits all day long. მაგრამ, I also see RSS "sweeps". A sweep is when I see 20 ან 30 RSS hits all within a one or two second window. I assume these are automated things like google checking in on my site, იქნებ სხვა ხალხის ბრაუზერები … not sure. They are definitely some kind of automated process. I cannot tell, თუმცა, how many of my total hits are automated and how many have an actual human on the other side. I would guess at least 100 ჰიტს დღეში არიან ავტომატიზებულია.

On to ნომრები!

მე დავწერე ჩემი პირველი ბლოგის შესვლის წლის 27 ივლისს, 2007.

მე არ წერია დაახლოებით 60 blog entries მას შემდეგ, ზე მეტი 50 რომლის პირდაპირ უკავშირდება SharePoint.

დავიწყე შენარჩუნება კვალს, ჩემი hits in ცხრილების ყოველდღიურად დასასრულს სექტემბერი.

ყოველთვიური სტარტები:

პირველ კვირას: ჯამური სტატისტიკა
ოქტომბერი 1,234
ნოემბერი 2,162
დეკემბერი 3,071
იანვარი 2008 4,253

სულ by თვე

თვე ჯამური სტატისტიკა
ოქტომბერი 6,620
ნოემბერი 11,110
დეკემბერი 13,138

მაღალი წყლის ნიშნების

გაცნობის ჯამური სტატისტიკა
საუკეთესო Day 958
საუკეთესო კვირა 4,253
ჯამური სტატისტიკა წლიდან Day Zero 42,438

მაინტერესებს სხვები’ stats. If you care to share yours in the comments, გთხოვთ,!

</ბოლო>

პროგრამები Tags:

კვირა დილა სასაცილო: “ჰო, yeah, yeah. Blah, წევრის, წევრის.”

დაახლოებით ექვსი წლის წინ, ჩემი ოთხი წლის შვილი მე და ფილმი თვალს დოკუმენტური "shark attacks" სპეციალური (შესაძლოა ეს ერთი). He was very young at the point and I was always worried what he might see on a show like this and how he might take it. I didn’t want him to develop, მაგალითად, ნებისმიერი სპეციალური შიში წყლის ან blab რაღაც შეუსაბამო მისი მეგობრები და შესაძლოა გამოიწვიოს მისი ბავშვი მეგობარს ქსელის მოვა crashing ქვემოთ.

Discovery handles these kinds of subjects very well. It’s not about creating a fear of something, but rather to show how unusual it is for sharks to attack humans.

ასე რომ,, we’re watching it and there is this one particularly scary attack involving a small girl. As Discovery is building the drama of the attack, my son (who has always been extremely jumpy anyway), is getting very excited. I make some noises about how unusual it is for sharks to attack people, and how bad the poor girl must feel. I’m trying to explain that people recover from these events and become stronger for it. თუმცა, I had misinterpreted his excitement. He was not worried about the girl at all. ამის ნაცვლად, while clapping his hands, he tells me, "The sharks love it! It’s terrific. It’s wonderful. Its a DREAM COME TRUE!"

I thought this was hilarious, but also very disturbing. ერთის მხრივ, I was glad — even a little proud — that he could have strong empathic feelings, cross-species though they may be. As humans, we need to develop our "empathic muscles" so speak or you’ll end up like this guy 🙂 On the other hand, he was feeling cross-species empathy toward a species who was exhibiting behavior inimical to his own. I was really struggling with this when the narrator used the word "paradigm". My son picked up on that and asked me what that meant.

That’s not such an easy word to describe to a four year old, but I gave it a try. When I think of the word "paradigm", Thomas Kuhn is never far from my thoughts. წავიკითხე The Structure of Scientific Revolutions back at Lafayette and for better or for worse, the word "paradigm" is pregnant with extra meaning for me. (Sort of like the word "contact" after hearing a Movie Phone voice tell me where I could see that movie [I thought the book was better]; I always say to myself, "CONTACT!" whenever I see or hear someone say "contact").

ყოველ შემთხვევაში, I’m trying to explain to him a Kuhnian definition, that it’s "a historical movement of thought" and that it’s a "way of thinking with a number of built-in assumptions that are hard to escape for people living at that time." რა თქმა უნდა, you can’t talk like to a four-year old, so I’m trying to successively define it to smaller pieces and feeling rather proud of myself as I do so. (I just knew that someone outside of college would care that I had read Kuhn!).

I’m just warming to the task when he interrupts me. Waving his hand in my general direction and never taking his eyes off another brutal shark attack, he just says, "Yeah, yeah, yeah. Blah, წევრის, blah.".

So much for that 🙂

At that point, I decided to run away, rhetorically speaking, sit back, and enjoy watching sharks attack humans with my son.

</ბოლო>

პროგრამები Tags:

შეცვლა დათვალიერება ანკეტის საფუძველზე მომხმარებლის ID In InfoPath ფორმა

ჩვენ შემუშავებული InfoPath ფორმა მრავალი ჩვენებები მხარდასაჭერად ახალი დაქირავება / on-boarding process. When the company hires a new person, IT დეპარტამენტი და სხვა ჯგუფები უნდა მიიღონ ზომები (შეიქმნა სახელფასო, საშუალებას ხელმისაწვდომობის შესაბამისი განაცხადების, იქნებიან სამაგიდო, და ა.შ.). We use on form but a different view of the form for each of those functions.

ამ კომპანიის, ყველაზე მეტი ადამიანი ჩართული ბიზნეს პროცესის IT-savvy, ასე რომ, როდესაც ისინი წვდომის ფორმა, their default view is a "menu" view with buttons that direct them to their specific function. თუმცა, we needed to simplify things for the new hire’s direct manager. This person should not see any of the IT related stuff. სინამდვილეში, მან უნდა დაინახოს, მხოლოდ ერთი ხედი ფორმა და კი არ ვარიანტი, რომ ნახოთ სხვა შეხედულებების.

ჩვენს შემთხვევაში, რომ პირდაპირი მენეჯერის ანგარიშზე პირდაპირ უკავშირდება ფორმა გაცნობითი ხასიათის of დაუკავშირდით არჩევის (which I am always wanting to call a "people picker" რატომღაც).

ნაბიჯები შემდეგი რედაქციით:

1. In დიზაინის რეჟიმში, წასვლა ინსტრუმენტები -> ფორმა პარამეტრები -> ღია და შენახვა.

2. Select "rules".

3. Create a new rule whose action is "switch to view" და რომლის მდგომარეობის ბერკეტი ნიკი() ფუნქცია.

ნიკი() returns the "simple" user name without the domain. If I log into SharePoint with credentials "domain\pagalvin", ნიკი() returns "pagalvin".

The contact selector provides three bits of information for a contact. The "AccountID" portion is most useful for this scenario. The only thing that makes this even a little bit of challenge is that the contact selector (ჩემს გარემოს მაინც) დააბრუნებს domain და მომხმარებლის ID, as in "domain\pagalvin". This prevents us from doing a straight-forward equality condition since AccountID ("domain\pagalvin") არასოდეს არ გაუტოლდება ნიკი() ("pagalvin").

We can get around this using the "contains" ოპერატორი: AccountID შეიცავს ნიკი().

ჩვენ შეგვიძლია მას შემდგომი და წინასწარი pend მყარი კოდირებული domain წინაშე ნიკი() ფუნქცია ჩვენს თანასწორობის შემოწმება და აღმოფხვრას რისკი ცრუ დადებითი შეიცავს ოპერატორი.

We would have REALLY like to automatically switch view for other users based on their AD security group membership. მაგალითად, when a member of the "IT Analytics" ჯგუფი ხელმისაწვდომი ფორმა, automatically switch to the IT Analytics view. We didn’t have time to implement it, but my first thought is to create a web service that would have a method like "IsMemberOfActiveDirectorySecurityGroup", გაიაროს ეს ნიკი() and return back true or false. Does anyone have any other, უფრო ჭკვიანი იდეა? Is there any SharePoint function we can leverage from InfoPath to make that determination?

</ბოლო>

პროგრამები Tags:

შემთხვევით დამატება კოდექსის InfoPath ფორმა; შეგნებულად წაშლა ეს

როდესაც ვმუშაობთ ღილაკს ფორმა, we often add rules. You access the rules editor from the properties of the button.

როდესაც დაჭერით გარშემო სწრაფად, it’s easy to accidentally click on "Edit Form Code" instead of "Rules …".

პირველად მე ეს, I canceled out of the code editor. თუმცა, როდესაც მე შევეცადე აქვეყნებს ფორმით ცოტა ხნის შემდეგ კი, it required that I publish as an "Administrator-approved form template (გაფართოებული)". I didn’t actually do any programming and I absolutely didn’t want to go through an unnecessary approval process. I was in a bit of panic at the time due to time constraints. To get past it, I simply restored a previous backup and continued. I had recently seen some blog posts about people going into the form’s XML to tweak things and I was afraid I would have to do something similar.

დღეს, I did it again. ამჯერად, მე მქონდა ცოტა მეტი დრო ჩემს ხელში და აღმოჩნდა, რომ თქვენ შეგიძლიათ მარტივად გაუქმება ამ.

გადასვლა:

ინსტრუმენტები -> ფორმა პარამეტრები -> პროგრამირებაში: "Remove Code"

ეს არ მიიღოთ ბევრად უფრო ადვილია, ვიდრე,.

</ბოლო>

პროგრამები Tags: ,