ಸಮಸ್ಯೆಗೆ ಪರಿಹಾರವು: “FileNotFoundException” ನನ್ನ ವೈಶಿಷ್ಟ್ಯ ಪಡೆಯುವ.

I was working on a feature last week that would add some event receivers to a specific list instance. (ನಾನು ಇಲ್ಲಿ ಆ ಪಟ್ಟಿಯಲ್ಲಿ ರಿಸೀವರ್ ಬಗ್ಗೆ ಸ್ವಲ್ಪ ಬ್ಲಾಗ್).

ಆಜ್ಞಾ ಸಾಲಿನ ಬಳಸಿ, ನಾನು ಯಾವುದೇ ದೋಷದೊಂದಿಗೆ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಅನುಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ (ಆದರೆ ಗುಪ್ತ ದೋಷ ಕೆಳಗೆ ನೋಡಿ). When I tried to deploy the feature on the site, MOSS complained of a "FileNotFoundException" ದೋಷ. 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, ಸ್ಟ್ರಿಂಗ್ ಕೋಡ್ಬೇಸ್, ಎವಿಡೆನ್ಸ್ assemblySecurity, ಅಸೆಂಬ್ಲಿ locationHint, StackCrawlMark& ಮಣ್ಣಿನ ಬಣವೆ, ಬೂಲಿಯನ್ throwOnFileNotFound, ಬೂಲಿಯನ್ forIntrospection)
at System.Reflection.Assembly.InternalLoad(AssemblyRef AssemblyName, ಎವಿಡೆನ್ಸ್ 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 ತಂತ್ರಾಂಶ ಮೈಕ್ರೋಸಾಫ್ಟ್ ಫ್ಯೂಷನ್!EnableLog] (DWORD) ಗೆ 1.
ನೋಡು: ವಿಧಾನಸಭೆ ಬಂಧಿಸಲ್ಪಡುತ್ತವೆ ವೈಫಲ್ಯ ಲಾಗಿಂಗ್ ಸಂಬಂಧಿಸಿದ ಕೆಲವು ಸಾಧನೆ ಪೆನಾಲ್ಟಿ ಇಲ್ಲ.
ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಆಫ್ ಮಾಡಲು, ನೋಂದಣಿ ಮೌಲ್ಯದ ತೆಗೆದು [HKLM ತಂತ್ರಾಂಶ ಮೈಕ್ರೋಸಾಫ್ಟ್ ಫ್ಯೂಷನ್!EnableLog].

ವಿಂಡೋಸ್ ಶೇರ್ಪಾಯಿಂಟ್ ಸರ್ವೀಸಸ್ ಸಮಸ್ಯೆಯಿಂದ ನಿವಾರಣೆ.

ನಾನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ದೋಷ ಉಂಟುಮಾಡುವ ಗೊತ್ತಿಲ್ಲ: 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-ಆಬ-1ef9cd526f20: System.ArgumentNullException: ಮೌಲ್ಯ ಶೂನ್ಯ ಸಾಧ್ಯವಿಲ್ಲ.
ನಿಯತಾಂಕ ಹೆಸರು: ಕೌಟುಂಬಿಕತೆ
at System.Activator.CreateInstance(ಕೌಟುಂಬಿಕತೆ ಮಾದರಿ, ಸಾರ್ವಜನಿಕವಲ್ಲದ ಬೂಲಿಯನ್)
at System.Activator.CreateInstance(ಕೌಟುಂಬಿಕತೆ ಮಾದರಿ)
at Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

ವಿಂಡೋಸ್ ಶೇರ್ಪಾಯಿಂಟ್ ಸರ್ವೀಸಸ್ ಸಮಸ್ಯೆಯಿಂದ ನಿವಾರಣೆ.

Internets ಒಂದು ಕೊನೆಯ ಟ್ರಿಪ್ ಟೈಮ್ ಫಾರ್!

ನಾನು ಕಂಡುಹಿಡಿಯಲು ಈ ಸಮಯ, ನಿರೀಕ್ಷಿತವಾಗಿ ಸಾಕಷ್ಟು, that MOSS issues this error because the assembly is not in GAC.

ನಾನು ಈ ಆಫ್ ಏನಾದರೂ ಧನಾತ್ಮಕ ಹೊರಬರಲು ಮತ್ತು ನಾನು ರಚಿಸಿದ ಎಂದು ಸ್ವಲ್ಪ ಹೆಮ್ಮೆ ಅಭಿಪ್ರಾಯ ಪ್ರಯತ್ನಿಸಿ ಬಯಸುವ 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" ದೋಷ. ಈ ಸಮಯ, ನಾನು 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. ನೀವು ಈಗಾಗಲೇ ಫ್ರಿಜ್ ಸಾಕಷ್ಟು ಹೆಚ್ಚು ಇಲ್ಲ ತಿಳಿದಿದೆ ಕೋಸುಗಡ್ಡೆ ಖರೀದಿ.
  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 ವರ್ಷ, ಪ್ರತಿ ಭಾನುವಾರ ನೀವು ಪತ್ನಿ ಒಂದು ಮ್ಯೂಸಿಯಂ ಹೋಗುವ ಪ್ರಕಾರ, ವಸ್ತು ಭಾನುವಾರ ನ ಮುಕ್ತ ಎಂದು ಎಕ್ಸ್ಪ್ರೆಸ್ ಅನಿರೀಕ್ಷಿತ.
  5. ಗೆ 15 ವರ್ಷ, occasionally suggest going to the local book store on Sunday. Express surprise that they are not open on Sunday’s (ಬಹಳಷ್ಟು ಕೃತಜ್ಞತೆಯಿಂದ ಬ್ಲೂ ನಿಯಮಗಳು!).
  6. ಬಳಸುವುದು 20 ಒಂದು ಮಾಡಲು ಅಂಕಗಳನ್ನು 3 point turn.
  7. ತಂಪಾದ ಆರಂಭಿಕ ಪತನ ಮಧ್ಯಾಹ್ನ, 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, ಬೆಪ್ಪ" ಮತ್ತು ಅದನ್ನು ಆಫ್ ಮಾಡಲು ಅಪ್ ಪಡೆಯುತ್ತದೆ, grab the warm spot she had on the couch. Bonus points if she does not realize you did it until much later.
  8. ರುಚಿಯಾದ ಬಿಳಿ ಆಲ್ಬಾಕೋರ್ ಟ್ಯೂನ ಒಂದು ಕ್ಯಾನ್ ತೆರೆದು ಮಾಡಬಹುದು ನೇರವಾಗಿ ಇದು ತಿನ್ನಲು, ಹಾಸಿಗೆಯಲ್ಲಿ, ರಾತ್ರಿ.
  9. ಪತ್ನಿ ಊಟದ ತಿನ್ನುವ ಸಮಯದಲ್ಲಿ ಅಡಿಗೆ ಹೋಗಿ, ಪತ್ನಿ ಹಾಡಿನಲ್ಲಿ ರವರೆಗೆ ಸುಮಾರು ಚಾಕುಕತ್ತರಿಗಳು DRAWER ಮತ್ತು ತಳ್ಳುವ ಪಾತ್ರೆಗಳನ್ನು ತೆರೆಯುತ್ತದೆ, "what are you looking for!"
  10. ಹೊಸ ವ್ಯಾಪಾರ ಕಾರ್ಡ್ಗಳು ಸಂದಾಯದ ರಂದು, ರಹಸ್ಯವಾಗಿ ಎಲ್ಲಾ ಮನೆಯ ಸುತ್ತ ಇಡಿ: ಹಾಸಿಗೆ ಅಡಿಯಲ್ಲಿ, ಮೆತ್ತೆ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಕಾಫಿ ಕಪ್ ಒಳಗೆ, ತನ್ನ ಪರ್ಸ್ ನಲ್ಲಿ, ಕೋಟ್ ಪಾಕೆಟ್ಸ್ ರಲ್ಲಿ, ಕಾರು ಕೈಗವಸು ಕಪಾಟುಗಳು, ಅಡುಗೆ ವಸ್ತುಗಳ ಉಗ್ರಾಣ — anywhere you can think of.
  11. ನಿಮ್ಮ ಹೆಂಡತಿ ಬಗ್ಗೆ ಬ್ಲಾಗ್ ನಮೂದುಗಳನ್ನು ಬರೆಯಿರಿ.
  12. ಎದ್ದೇಳಿ.
  13. ನ್ಯೂಯಾರ್ಕ್ ನಗರದ ಬೀದಿಗಳಲ್ಲಿ ನಡೆಯುವಾಗ, be on the alert for "crusty" objects on the ground. ಮನಸ್ಸಿನಲ್ಲಿ ನಿಮ್ಮ ಹೆಂಡತಿಯ ವಿಶೇಷ ಆತಂಕಗಳು ಕೀಪಿಂಗ್, ಒಂದು ಅಪ್ ಎತ್ತಿಕೊಂಡು ಕೇಳಲು ವೇಳೆ ಮಾಹಿತಿ ಡೌನ್ ತಲುಪಲು, "hmm, ನಾನು ಏನು ಯೋಚನೆ?" (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, ಬದಲಿಗೆ ನಾನು ಅವಳ ಕಿರುಚುತ್ತಿದ್ದರು, ‘You ruined my life!'"

</ಕೊನೆಯಲ್ಲಿ>

ನನ್ನ ಟ್ಯಾಗ್ಗಳು:

ಈವೆಂಟ್ ID 1023: “ವಿಂಡೋಸ್ ವಿಸ್ತರಣೆಯು ಪ್ರತಿ 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:

ವಿಂಡೋಸ್ ವಿಸ್ತರಣೆಯು ಪ್ರತಿ dll UGatherer ಲೋಡ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ, ದಶಮಾಂಶ ವಿಭಾಗದಲ್ಲಿ ಮೊದಲ DWORD ವಿಂಡೋಸ್ ದೋಷ ಸಂಕೇತ.

ವಿಂಡೋಸ್ ವಿಸ್ತರಣೆಯು ಪ್ರತಿ dll UGTHRSVC ಲೋಡ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ, ದಶಮಾಂಶ ವಿಭಾಗದಲ್ಲಿ ಮೊದಲ DWORD ವಿಂಡೋಸ್ ದೋಷ ಸಂಕೇತ.

ವಿಂಡೋಸ್ ವಿಸ್ತರಣೆಯು ಪ್ರತಿ DLL MSSCNTRS ಲೋಡ್ ಮಾಡಬಹುದು, ದಶಮಾಂಶ ವಿಭಾಗದಲ್ಲಿ ಮೊದಲ DWORD ವಿಂಡೋಸ್ ದೋಷ ಸಂಕೇತ.

ನಾನು ಆ ಸಂದೇಶಗಳ ಒಂದು ವಿವರಗಳನ್ನು ಒಳಗೆ ಕೊರೆತಕ್ಕಾಗಿ ವೇಳೆ, ನಾನು ಈ ಪಡೆಯಿರಿ:

ಮೂಲ: 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.

VM ವರೆ ಒಂದಷ್ಟು ಕಾಲ ಒಂದು ಅಪ್ಡೇಟ್ ಪ್ರದರ್ಶನ ಬಗ್ಗೆ ನನಗೆ ಒತ್ತಾಯದ ಎಂದು, ಆದ್ದರಿಂದ ನಾನು ಸ್ಥಾಪಿಸಲಾಗಿತ್ತು ಆವೃತ್ತಿಯನ್ನು ಡೌನ್ 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.

ಹೋಸ್ಟ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂ ವಿಂಡೋಸ್ XP ಯನ್ನು 64 ಸ್ವಲ್ಪ.

ನಾನು ಈ ಯಾವಾಗಲೂ ಸಂಭವಿಸಲಿಲ್ಲ ಯೋಚಿಸುವುದಿಲ್ಲ, ಆದರೆ ನಾನು ಕಾರಣವಾಗಿವೆ ಎಂದು ಯಾವುದೇ ನಿರ್ದಿಷ್ಟ ಕ್ರಿಯೆಯನ್ನು ಕರೆಸಿಕೊಳ್ಳುವುದು ಇಲ್ಲ.

ನಾನು ಕಂಪ್ಯೂಟರ್ ದ್ವೇಷದ ಕಂಡಿತ್ತು.

</ಕೊನೆಯಲ್ಲಿ>

ನನ್ನ ಟ್ಯಾಗ್ಗಳು:

ಚುರುಕಾದ & ಸುಲಭ: ಕ್ರಿಯೆಯನ್ನು ರಿಸೀವರ್ ಮೂಲಕ ಶೇರ್ಪಾಯಿಂಟ್ ಆಬ್ಜೆಕ್ಟ್ ಮಾಡೆಲ್ ಬಳಸಿ ಅಪ್ಲೋಡ್ ಮಾಡಿದ ಫೈಲ್ ಮರುಹೆಸರಿಸಿ

ನವೀಕರಿಸಲು: 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:

 ಸಾರ್ವಜನಿಕ ಸ್ವಯಂಚಾಲನೆಯ ಸ್ತಂಭನ ಶೂನ್ಯವಾಗುವ ItemAdded(SPItemEventProperties ಗುಣಗಳು)
        {
            SPFile ಎಫ್ = 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":

 ಸಾರ್ವಜನಿಕ ಸ್ವಯಂಚಾಲನೆಯ ಸ್ತಂಭನ ಶೂನ್ಯವಾಗುವ ItemAdded(SPItemEventProperties ಗುಣಗಳು)
        {
            DisableEventFiring();

            // ಫೈಲ್ ಸ್ವತಃ ಹೆಸರಿನ ಈ ಐಟಂ ಶೀರ್ಷಿಕೆ ನಿಗದಿಪಡಿಸಿ.
 // ಟಿಪ್ಪಣಿ: ನಾವು ಫೈಲ್ ಸ್ವತಃ ಮಾರ್ಪಡಿಸಿ ಮೊದಲು ಈ ಹುದ್ದೆ ನಡೆಯುತ್ತವೆ ಮಾಡಬೇಕು.
 // ಅಪ್ಡೇಟ್ ಕರೆ() SPFile ಮೇಲೆ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಅನೂರ್ಜಿತಗೊಳಿಸುವ ತೋರುತ್ತದೆ
 // ಕೆಲವು ಅರ್ಥದಲ್ಲಿ.  Updates to "Title" ಬದಲಾವಣೆ ತನಕ ವಿಫಲವಾಗಿದೆ (ಮತ್ತು ಅಪ್ಡೇಟ್() ಕರೆ)
 // ಫೈಲ್ ಹೆಸರು ಬದಲಾವಣೆಯು ಮುಂದೆ ಸ್ಥಳಾಂತರಿಸಲಾಯಿತು.
            properties.ListItem["Title"] = Properties.ListItem.File.Name;

            properties.ListItem.Update();

            SPFile ಎಫ್ = properties.ListItem.File;

            // ಕಡತದ ವಿಸ್ತರಣೆಯನ್ನು ಪಡೆಯಿರಿ.  ನಾವು ಆ ಅಗತ್ಯವಿದೆ.
 ದಾರ spfileExt = ಹೊಸ ಫೈಲ್ ಮಾಹಿತಿ(f.Name).ಚಾಚುವುದು;

            // ಪಟ್ಟಿ ಐಟಂನ ID ಗೆ ಫೈಲ್ ಮರುಹೆಸರಿಸು ಮತ್ತು ಇರಿಸಿಕೊಳ್ಳಲು ಕಡತ ವಿಸ್ತರಣೆಯನ್ನು ಬಳಸಲು
 // ಹಾಗೇ ಇದರ ಭಾಗವನ್ನು.
            f.MoveTo(properties.ListItem.ParentList.RootFolder.Url +
                "/" + properties.ListItem["ID"] + spfileExt);

            // ನಡೆಸುವಿಕೆಯನ್ನು ಕಮಿಟ್.
            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, ಆದರೆ ನಾನು ಸಕ್ರಿಯ ಯಾವಾಗ (ದೋಷ ಇಲ್ಲದೆ) ಇದು ಕೇವಲ ಬೀಳಿಕೆ ಮೇಲೆ ತೋರಿಸುವುದಿಲ್ಲ ಎಂದು.

I finally realized that I misspelled "SharePoint" ಸ್ಥಾನ ಗುಣಲಕ್ಷಣ ರಲ್ಲಿ <CustomAction> ಗೆಣ್ಣು. This is the bad elements.xml file:

<?ಮದುವೆ ರೂಪಾಂತರ="1.0" ಎನ್ಕೋಡಿಂಗ್="UTF-8" ?>
<ಎಲಿಮೆಂಟ್ಸ್ xmlns="HTTP://schemas.microsoft.com / ಶೇರ್ಪಾಯಿಂಟ್ /">
  <CustomAction
 ಐಡಿ="SiteActionsToolbar"
 GroupId="SiteActions"
 ಸ್ಥಳ="Microsoft.Sharepoint.StandardMenu"
 ಅನುಕ್ರಮ="100"
 ಶೀರ್ಷಿಕೆ="ಹಲೋ!"
 ವಿವರಣೆ="ಕಸ್ಟಮ್ ಮೆನು ಕ್ರಿಯೆಯನ್ನು ಒಂದು ವೈಶಿಷ್ಟ್ಯವನ್ನು ಮೂಲಕ ಸೇರಿಸಲಾಗಿದೆ."
 ImageUrl="_layouts / ಚಿತ್ರಗಳು / menuprofile.gif">

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

  </CustomAction>
</ಎಲಿಮೆಂಟ್ಸ್>

ಉತ್ತಮ:

<?ಮದುವೆ ರೂಪಾಂತರ="1.0" ಎನ್ಕೋಡಿಂಗ್="UTF-8" ?>
<ಎಲಿಮೆಂಟ್ಸ್ xmlns="HTTP://schemas.microsoft.com / ಶೇರ್ಪಾಯಿಂಟ್ /">
  <CustomAction
 ಐಡಿ="SiteActionsToolBar"
 GroupId="SiteActions"
 ಸ್ಥಳ="Microsoft.SharePoint.StandardMenu"
 ಅನುಕ್ರಮ="100"
 ಶೀರ್ಷಿಕೆ="ಹಲೋ!"
 ವಿವರಣೆ="ಕಸ್ಟಮ್ ಮೆನು ಕ್ರಿಯೆಯನ್ನು ಒಂದು ವೈಶಿಷ್ಟ್ಯವನ್ನು ಮೂಲಕ ಸೇರಿಸಲಾಗಿದೆ."
    >
    <UrlAction Url="HTTP://www.xyzzy.com"/>
  </CustomAction>
</ಎಲಿಮೆಂಟ್ಸ್>

ಒಂದು ಲೆಕ್ಕಾಚಾರ ಅಂತ ಉತ್ತಮ ಎರಡು ಗಂಟೆಗಳ ತೆಗೆದುಕೊಂಡಿತು 🙂

ನಾನು ಭವಿಷ್ಯದಲ್ಲಿ ಕೆಲವು ದಿನಗಳ ವಾಸ್ತವವಾಗಿ ಸಾಂತ್ವನ ತೆಗೆದುಕೊಳ್ಳಬಹುದು, ನಾನು ದೃಢ ಹೇಳಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ, "back in the day, ನಾನು ಹಿಮದಲ್ಲಿ ಬೆಟ್ಟ ಮೂರು ಮೈಲಿ ನಡೆದುಕೊಂಡೇ ಹೋಗಿ (ಬರಿಗಾಲಿನ!) in order to deploy a custom feature to MOSS. You kids, ನೀವು ಅದನ್ನು ಹೇಗೆ ಸುಲಭ ಗೊತ್ತಿಲ್ಲ! Get off my lawn!"

ನಿರೀಕ್ಷಿಸಿ ಸಾಧ್ಯವಿಲ್ಲ.

</ಕೊನೆಯಲ್ಲಿ>

ಬ್ಲಾಗ್ ಅಂಕಿಅಂಶಗಳು

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 (ಉದಾ.. 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, ಬಹುಶಃ ಇತರ ಜನರ ಬ್ರೌಸರ್ … ಖಾತರಿಯಿಲ್ಲ. 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 ದಿನಕ್ಕೆ ಹಿಟ್ ಸ್ವಯಂಕಾರ್ಯ.

ಸಂಖ್ಯೆಗಳ ರಂದು!

ನಾನು ಜುಲೈ 27 ರಂದು ನನ್ನ ಮೊದಲ ಬ್ಲಾಗ್ ಬರೆದರು, 2007.

ನಾನು ಸುಮಾರು ಬರೆದಿದ್ದಾರೆ 60 ಬ್ಲಾಗ್ ನಮೂದುಗಳನ್ನು ನಂತರ, ಹೆಚ್ಚು 50 ನೇರವಾಗಿ ಶೇರ್ಪಾಯಿಂಟ್ ಸಂಬಂಧಿಸಿವೆ ಅವುಗಳಲ್ಲಿ.

ನಾನು ಸೆಪ್ಟೆಂಬರ್ ಕೊನೆಯಲ್ಲಿ ಪ್ರತಿದಿನವು ಸ್ಪ್ರೆಡ್ಶೀಟ್ ನನ್ನ ಹಿಟ್ ಜಾಡನ್ನು ಆರಂಭಿಸಿದರು.

ಮಾಸಿಕ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ:

ಮೊದಲ ವಾರ: ಒಟ್ಟು ಹಿಟ್ಸ್
ಅಕ್ಟೋಬರ್ 1,234
ನವೆಂಬರ್ 2,162
ಡಿಸೆಂಬರ್ ತಿಂಗಳು 3,071
ಜನವರಿ 2008 4,253

ತಿಂಗಳ ಮೂಲಕ ಒಟ್ಟು

ತಿಂಗಳು ಒಟ್ಟು ಹಿಟ್ಸ್
ಅಕ್ಟೋಬರ್ 6,620
ನವೆಂಬರ್ 11,110
ಡಿಸೆಂಬರ್ ತಿಂಗಳು 13,138

ಹೈ ವಾಟರ್ ಮಾರ್ಕ್ಸ್

ಕೌಟುಂಬಿಕತೆ ಒಟ್ಟು ಹಿಟ್ಸ್
ಅತ್ಯುತ್ತಮ ದಿನ 958
ಅತ್ಯುತ್ತಮ ವೀಕ್ 4,253
ಡೇ ಶೂನ್ಯ ರಿಂದ ಒಟ್ಟು ಹಿಟ್ಸ್ 42,438

ನಾನು ಇತರರಲ್ಲಿ ಆಸಕ್ತಿ ಬಾಗುತ್ತೇನೆ’ stats. If you care to share yours in the comments, ದಯವಿಟ್ಟು!

</ಕೊನೆಯಲ್ಲಿ>

ನನ್ನ ಟ್ಯಾಗ್ಗಳು:

ಸಂಡೆ ಮಾರ್ನಿಂಗ್ ಫನ್ನಿ: “ಹೌದು, ಹೌದು, ಹೌದು. Blah, blah, 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, ಉದಾಹರಣೆಗೆ, ಯಾವುದೇ ವಿಶೇಷ ಆತಂಕಗಳು ನೀರು ಅಥವಾ ಅತಿಯಾಗಿ ಮಾತಾಡು ಏನೋ ಸೂಕ್ತವಲ್ಲದ ತನ್ನ ಸ್ನೇಹಿತರಿಗೆ ಮತ್ತು ಪ್ರಾಯಶಃ ರಭಸವಾಗಿ ಬಂದು ತನ್ನ ಮಗುವನ್ನು ಸ್ನೇಹಿತ ನೆಟ್ವರ್ಕ್ ಕಾರಣವಾಗುತ್ತದೆ.

Discovery handles these kinds of subjects very well. It’s not about creating a ಏನೋ ಭಯ, 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, ನನ್ನ ಧ್ವನಿ (ಯಾವಾಗಲೂ ಹೇಗಾದರೂ ಅತ್ಯಂತ ಹೃದಯ ಕಂಪಿಸುವ ಯಾರು ಬಂದಿದೆ), 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. ಬದಲಿಗೆ, ತನ್ನ ಕೈ ಚಪ್ಪಾಳೆ ಸಂದರ್ಭದಲ್ಲಿ, ಅವನು ನನಗೆ ಹೇಳುತ್ತದೆ, "The sharks love it! It’s terrific. It’s wonderful. Its a DREAM COME TRUE!"

ನಾನು ಈ ಗೆಲವಿನ ಭಾವಿಸಿದರು, but also very disturbing. ಒಂದೆಡೆ, ನಾನು ಸಂತೋಷವನ್ನು ಆಗಿತ್ತು — ಸಹ ಸ್ವಲ್ಪ ಹೆಮ್ಮೆ — ಅವರು ಪ್ರಬಲ ಭಾವನೆಗಳನ್ನು ಪರಾನುಭೂತಿಶಕ್ತಿಯುಳ್ಳ ಹೊಂದಿವೆ ಎಂದು, cross-species though they may be. As humans, we need to develop our "empathic muscles" ಎದುರಾದಾಗ ಅಥವಾ ನಿಮ್ಮಂತಹ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ ಮಾಡುತ್ತೇವೆ ಈ ವ್ಯಕ್ತಿ 🙂 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.

ಹಳೆಯ ಒಂದು ನಾಲ್ಕು ವರ್ಷದ ವಿವರಿಸಲು ಸುಖವಾದ ಪದ ಅಲ್ಲ, but I gave it a try. When I think of the word "paradigm", ಥಾಮಸ್ ಕುಹ್ನ್ is never far from my thoughts. ನಾನು ಓದಿ ವೈಜ್ಞಾನಿಕ ಕ್ರಾಂತಿಗಳ ರಚನೆ ಹಿಂದೆ ಲಫಯೆಟ್ಟೆ ಮತ್ತು ಉತ್ತಮ ಅಥವಾ ಕೆಟ್ಟದ್ದಕ್ಕಾಗಿ, the word "paradigm" is pregnant with extra meaning for me. (Sort of like the word "contact" ಕೇಳಿದ ನಂತರ ಚಲನಚಿತ್ರ ದೂರವಾಣಿ ಧ್ವನಿ ನಾನು ನೋಡಬಹುದು ಅಲ್ಲಿ ಹೇಳಿ ಆ ಚಿತ್ರ [ನಾನು ಪುಸ್ತಕ ಉತ್ತಮ ಭಾವಿಸಿದರು]; ನಾನು ಯಾವಾಗಲೂ ನನ್ನ ಹೇಳಲು, "CONTACT!" whenever I see or hear someone say "contact").

ಹೇಗಾದರೂ, ನಾನು ಅವನಿಗೆ ಒಂದು Kuhnian ವ್ಯಾಖ್ಯಾನದ ವಿವರಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತೇನೆ, 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." ಸಹಜವಾಗಿ, ನೀವು ನಾಲ್ಕು ವರ್ಷದ ಗೆ ಹಾಗೆ ಮಾತನಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ, so I’m trying to successively define it to smaller pieces and feeling rather proud of myself as I do so. (ನಾನು ತಿಳಿದಿತ್ತು ಕಾಲೇಜು ಹೊರಗೆ ಯಾರೋ ನಾನು ಕುಹ್ನ್ ಓದಲು ಎಂದು ಕೇರ್ ಎಂದು!).

I’m just warming to the task when he interrupts me. Waving his hand ನನ್ನ ಸಾಮಾನ್ಯ ದಿಕ್ಕಿನಲ್ಲಿ ಮತ್ತು ಮತ್ತೊಂದು ಕ್ರೂರ ಶಾರ್ಕ್ ದಾಳಿ ಆಫ್ ಅವನ ಕಣ್ಣುಗಳು ತೆಗೆದುಕೊಳ್ಳುವ ಇಲ್ಲ, ಅವರು ಕೇವಲ ಹೇಳುತ್ತಾರೆ, "Yeah, ಹೌದು, ಹೌದು. Blah, blah, blah.".

So much for that 🙂

ಆ ಸಮಯದಲ್ಲಿ, ನಾನು ದೂರ ಔಟ್ ಮಾಡಲು ನಿರ್ಧರಿಸಿದರು, ಕೃತಕ ಶೈಲಿಯಲ್ಲಿ ಮಾತನಾಡುವ, ಕುಳಿತುಕೊಳ್ಳಿ, ಮತ್ತು ನನ್ನ ಮಗನನ್ನು ಶಾರ್ಕ್ ದಾಳಿ ಮಾನವರು ನೋಡಿ ಆನಂದಿಸಿ.

</ಕೊನೆಯಲ್ಲಿ>

ನನ್ನ ಟ್ಯಾಗ್ಗಳು:

ಒಂದು InfoPath ಫಾರ್ಮ್ ರಲ್ಲಿ ಬಳಕೆದಾರ ID ಯನ್ನು ಆಧರಿಸಿ ವೀಕ್ಷಿಸಿ ಬದಲಿಸಿ

ನಾವು ಒಂದು ಹೊಸ ಬಾಡಿಗೆ ಬೆಂಬಲಿಸಲು ಬಹು ದೃಷ್ಟಿಕೋನಗಳನ್ನು ಒಂದು InfoPath ರಚನೆಯಲ್ಲಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದರು / on-boarding process. When the company hires a new person, ಐಟಿ ಇಲಾಖೆ ಮತ್ತು ಇತರ ಗುಂಪುಗಳು ಕ್ರಮವನ್ನು ತೆಗೆದುಕೊಳ್ಳುವ ಅವಶ್ಯಕತೆ (ವೇತನದಾರರ ಹೊಂದಿಸಲು, ಸೂಕ್ತ ಅನ್ವಯಗಳನ್ನು ಪ್ರವೇಶವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು, ಒಂದು ಮೇಜಿನ ಪತ್ತೆ, ಇತ್ಯಾದಿ). We use on form but a different view of the form for each of those functions.

ಈ ಕಂಪೆನಿಯಲ್ಲಿ, ವ್ಯಾಪಾರ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಜನರು ಅತ್ಯಂತ ಐಟಿ-ತಿಳಿ ಇವೆ, ಅವರು ರೂಪ ಪ್ರವೇಶಿಸಲು ಇದರಿಂದ, 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. ವಾಸ್ತವವಾಗಿ, ಅವಳು ರೂಪ ಕೇವಲ ಒಂದು ನೋಟ ನೋಡಿ ಮತ್ತು ಇತರ ವೀಕ್ಷಣೆಗಳು ನೋಡಲು ಒಂದು ಆಯ್ಕೆಯನ್ನು ಹೊಂದಿಲ್ಲ ಸಹ ಬೇಕು.

ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ, ನೇರ ವ್ಯವಸ್ಥಾಪಕರ ಖಾತೆಯನ್ನು ನೇರವಾಗಿ ಒಂದು ರೂಪದಲ್ಲಿ ಸೌಜನ್ಯ ಬಂಧಿಸಲಾಗಿದೆ ಎಂದು ಆಯ್ಕೆ ಸಂಪರ್ಕಿಸಿ (which I am always wanting to call a "people picker" ಕೆಲವು ಕಾರಣಕ್ಕಾಗಿ).

ಹಂತಗಳು ಹೀಗಿವೆ:

1. ವಿನ್ಯಾಸ ಕ್ರಮದಲ್ಲಿ, ಪರಿಕರಗಳು ಹೋಗಿ -> Form Options -> Open and Save.

2. Select "rules".

3. Create a new rule whose action is "switch to view" and whose condition leverages the userName() ಕ್ರಿಯೆ.

userName() returns the "simple" user name without the domain. If I log into SharePoint with credentials "domain\pagalvin", userName() 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 (in my environment anyway) returns the domain and user ID, as in "domain\pagalvin". This prevents us from doing a straight-forward equality condition since AccountID ("domain\pagalvin") will never equal userName() ("pagalvin").

We can get around this using the "contains" operator: AccountID contains userName().

We can take it further and pre-pend a hard-coded domain in front of the userName() function to get our equality check and eliminate the risk of a false positive on the contains operator.

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" group accesses the form, 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", pass it the userName() and return back true or false. Does anyone have any other, more clever idea? Is there any SharePoint function we can leverage from InfoPath to make that determination?

</ಕೊನೆಯಲ್ಲಿ>

ನನ್ನ ಟ್ಯಾಗ್ಗಳು:

ಆಕಸ್ಮಿಕವಾಗಿ ಒಂದು 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. ಹೇಗಾದರೂ, when I tried to publish the form a little while later, it required that I publish as an "Administrator-approved form template (advanced)". 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. ಈ ಸಮಯ, ನನ್ನ ಕೈ ಮೇಲೆ ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಸಮಯ ಮತ್ತು ನೀವು ಸುಲಭವಾಗಿ ಈ ರದ್ದು ಮಾಡಬಹುದು ಕಂಡುಕೊಂಡರು.

ಹೋಗಿ:

ಟೂಲ್ಸ್ -> Form Options -> ಪ್ರೋಗ್ರಾಮಿಂಗ್: "Remove Code"

ಇದು ಹೆಚ್ಚು ಸುಲಭವಾಗಿ ಪಡೆಯಲು ಇಲ್ಲ.

</ಕೊನೆಯಲ್ಲಿ>

ನನ್ನ ಟ್ಯಾಗ್ಗಳು: ,