Buwanang Archive: Enero 2008

Blog Stats

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, halimbawa, 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, mangyaring sabihin sa akin.

Live na mga puwang katayuan sabihin sa akin: kabuuang mga hit para sa araw, 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 forum link, at iba pa).

Sa ilang mga paraan, a "hit" ay halata. Kung binabasa mo ang pangungusap na ito ngayon, mo na ang halos tiyak na nakarehistro bilang isang solong hit.

RSS is a little confusing. On one hand, I see individual RSS hits all day long. Pero, I also see RSS "sweeps". A sweep is when I see 20 o 30 RSS hits all within a one or two second window. I assume these are automated things like google checking in on my site, siguro ibang tao browser … hindi sigurado. They are definitely some kind of automated process. I cannot tell, gayunman, 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 hit bawat araw ay awtomatiko.

Sa upang ang mga numero!

Nagsulat ako sa aking unang entry sa blog sa Hulyo 27, 2007.

Isinulat ko humigit-kumulang 60 blog entry mula noon, higit sa 50 ng kung saan ay direktang umuugnay sa SharePoint.

Ako nagsimula upang subaybayan ng aking mga hit sa isang spreadsheet sa isang pang araw-araw na batayan sa dulo ng Setyembre.

Buwanang Mga Pagsisimula:

Unang linggo ng: Kabuuang Hits
Oktubre 1,234
Nobyembre 2,162
Disyembre 3,071
Enero 2008 4,253

Kabuuang sa pamamagitan ng Buwan

Buwan Kabuuang Hits
Oktubre 6,620
Nobyembre 11,110
Disyembre 13,138

Mataas na Marks Tubig

Uri Kabuuang Hits
Pinakamahusay na Araw 958
Pinakamahusay na Linggo 4,253
Kabuuang Hits Dahil Araw ng Zero 42,438

Ako interesado sa iba’ stats. If you care to share yours in the comments, mangyaring gawin!

</dulo>

Technorati Tags:

Linggo Umaga ng nakakatawang: “Oo, oo, oo. Kalokohan, kalokohan, blah.”

Tungkol sa anim na taon na ang nakalipas, ang aking apat na taon gulang na anak na lalaki at ako ay sa itaas ng hagdan nanonood ng Discovery channel "shark attacks" espesyal (marahil ang isang ito). 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, halimbawa, anumang espesyal na mga takot ng tubig o magsitsit ng isang bagay na hindi naaangkop sa kanyang mga kaibigan at posibleng maging sanhi ng kanyang sanggol kaibigan network na dumating pag-crash down na.

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

Kaya, 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, aking anak na lalaki (sino ay palagi nang naging lubhang matatakutin pa rin), 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. Gayunman, I had misinterpreted his excitement. He was not worried about the girl at all. Sa halip, habang pumapalakpak ang kanyang mga kamay, siya ay nagsasabi sa akin, "The sharks love it! It’s terrific. It’s wonderful. Its a DREAM COME TRUE!"

Akala ko ito ay masayang-maingay, but also very disturbing. Sa isang banda, Ako ay natutuwa — kahit na isang maliit na maipagmamalaki — na maaaring siya ay may malakas na damdamin empathic, cross-species though they may be. As humans, we need to develop our "empathic muscles" kaya makipag-usap o makakapunta ka tulad ng ito tao 🙂 Sa kabilang dako, 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.

Iyan ay hindi tulad ng isang madaling salita upang ilarawan sa isang apat na taong gulang na, but I gave it a try. When I think of the word "paradigm", Thomas Kuhn is never far from my thoughts. Nabasa ko Ang Istruktura ng Scientific Revolutions bumalik sa Lafayette at para sa mas mahusay o mas masahol pa para sa, the word "paradigm" is pregnant with extra meaning for me. (Sort of like the word "contact" pagkatapos ng hearing ng Movie boses Telepono sabihin sa akin kung saan maaari kong makita na pelikula [Naisip ko na ang libro ay mas mahusay]; Ako palaging sabihin sa aking sarili, "CONTACT!" whenever I see or hear someone say "contact").

Gayon pa man, Sinusubukan ko upang ipaliwanag sa kanya ang isang Kuhnian kahulugan, 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." Talaga, hindi ka maaaring makipag-usap tulad ng sa isang apat na taong gulang na, so I’m trying to successively define it to smaller pieces and feeling rather proud of myself as I do so. (Ko lang Alam na isang tao sa labas ng kolehiyo gusto pakialam na ako ay basahin Kuhn!).

I’m just warming to the task when he interrupts me. Waving his hand sa aking pangkalahatang direksyon at hindi kailanman pagkuha ng kanyang mga mata off ang isa pang mabangis na atake pating, siya lamang sabi, "Yeah, oo, oo. Kalokohan, kalokohan, blah.".

So magkano ang para sa 🙂

Sa puntong iyon, Ko nagpasya upang patakbuhin ang layo, rhetorically pagsasalita, magpahinga, at tangkilikin ang panonood ng mga kawani na tao pating atake sa aking anak na lalaki.

</dulo>

Technorati Tags:

Lumipat Tingnan View Batay sa User ID Sa Isang Form InfoPath

Kami ay binuo ng isang InfoPath form na may maraming mga tanawin upang suportahan ang isang bagong hire / on-boarding process. When the company hires a new person, ang IT department at iba pang mga pangkat kailangang gumawa ng pagkilos (set up ng Payroll, paganahin ang access sa naaangkop na mga application, hanapin lamesa, at iba pa). We use on form but a different view of the form for each of those functions.

Sa kumpanyang ito, karamihan sa mga tao na kasangkot sa proseso ng negosyo ay mga IT-savvy, kaya kapag sila ay ma-access ang form, their default view is a "menu" view with buttons that direct them to their specific function. Gayunman, we needed to simplify things for the new hire’s direct manager. This person should not see any of the IT related stuff. Sa katunayan, dapat siya makita isa lang na view ng ang form at hindi kahit na magkaroon ng isang pagpipilian upang makita ang iba pang mga tanawin.

Sa aming kaso, na direct account manager ay direktang nakatali sa anyo ng kagandahang-loob ng isang makipag-ugnay sa selector (which I am always wanting to call a "people picker" para sa ilang kadahilanan).

Ang hakbang na ito ay ang mga sumusunod:

1. Sa mode na disenyo, pumunta sa Tools -> Form Options -> Buksan at I-save.

2. Select "rules".

3. Create a new rule whose action is "switch to view" at na ang kondisyon Pinakikinabangan ang username() tungkulin.

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 (sa aking kapaligiran pa rin) ay magbabalik ng mga domain at user ID, as in "domain\pagalvin". This prevents us from doing a straight-forward equality condition since AccountID ("domain\pagalvin") hindi kailanman ay magiging katumbas username() ("pagalvin").

We can get around this using the "contains" opereytor: AccountID ay naglalaman ng Username().

Maaari naming dalhin ito sa karagdagang at pre-pend isang hard-code na domain sa harap ng Username() gumana upang makakuha ng aming mga check-pantay at puksain ang panganib ng isang false positive sa ay naglalaman ng operator.

We would have REALLY like to automatically switch view for other users based on their AD security group membership. Halimbawa, when a member of the "IT Analytics" grupo-access ang 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", pumasa ito ang username() and return back true or false. Does anyone have any other, mas matalino ideya? Is there any SharePoint function we can leverage from InfoPath to make that determination?

</dulo>

Technorati Tags:

Aksidenteng Code Pagdaragdag sa isang Form InfoPath; Sadyang pag-alis nito

Kapag nagtatrabaho sa mga pindutan sa isang form, we often add rules. You access the rules editor from the properties of the button.

Kapag ng pag-click sa paligid ng mabilis, it’s easy to accidentally click on "Edit Form Code" instead of "Rules …".

Ang unang pagkakataon na ginawa ko ito, I canceled out of the code editor. Gayunman, kapag sinubukan kong i-publish ang form ng kaunti habang mamaya, it required that I publish as an "Administrator-approved form template (advance)". 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.

Ngayon, I did it again. Oras na ito, Ako ay nagkaroon ng konting oras sa aking mga kamay at nalaman na maaari mong madaling i-undo ito.

Pumunta sa:

Tools -> Form Options -> Programming: "Remove Code"

Hindi ito makakuha ng mas madali kaysa na.

</dulo>

Technorati Tags: ,

Minimum na Kinakailangan Security Para sa InfoPath Form

I needed to meet a security requirement for an InfoPath form today. In this business situation, a relatively small number of individuals are allowed to create a new InfoPath form and a much wider audience are allowed to edit it. (This is new-hire on-boarding form used by Human Resources that launches a workflow).

To meet that objective, I created created two new permission levels ("create and update" and "update only"), broke inheritance for the form library and assigned permissions to a "create, update" user and a separate "update only" gumagamit. The mechanics all worked, but it turned out to be a little more involving than I expected. (If you feel a little shaky on SharePoint permissions, check out this blog post). The required security configuration for the permission level was not the obvious set of granular permissions. To create an update-only permission level for an InfoPath form, I did the following:

  1. Create a new permission level.
  2. Clear away all options.
  3. Selected only the following from "List permissions":
    • Edit Items
    • View Items
    • View Application Pages

Selecting these options allows a user to update a form, but not create it.

The trick was to enable the "View Application Pages". There isn’t any verbage on the permission level that indicates that’s required for update-only InfoPath forms, but turns out it is.

Create-and-Update was even stranger. I followed the same steps, 1 through 3 sa itaas. I had to specifically add a "Site Permission" option: "Use client integration features". Muli, the description there does not make it seem like it ought to be required for an InfoPath form, but there it is.

</dulo>

Technorati Tags: ,

Na “Nasa pagitan” Pakiramdam; Pagmamasid sa SharePoint Consulting

Sadly, phase one of my last project has come to a close and the client has opted to move ahead by themselves on phase two. We did our job too well, as usual 🙂 I’m now between projects, isang espesyal na oras para sa mga consultant na staff tulad ng aking sarili (as opposed to independents who must normally live in perpetual fear of in-between time 🙂 ). We staff consultants fill this time in various ways: Working with sales folk to write proposals; filling in for someone or backing up a person on this or that odd job; studying; Blogging :). It’s hard to plan more than a few days in advance. At times like this, while I have a bit of time on my hands, I like to reflect.

I’m almost always sad to leave a client’s campus for the last time. We consultants form a peculiar kind of relationship with our clients, unlike your typical co-worker relationship. There’s the money angle — everyone knows the consultant’s rate is double/triple or even more than the client staff. You’re a known temporary person. As a consultant, you’re a permanent outsider with a more or less known departure date. Pa, you eat lunch with the client, take them out to dinner and/or for drinks, buy cookies for the team, go on coffee runs, give/receive holiday cards — all the kinds of things that co-workers do. On one hand, you’re the adult in the room. You’re an expert in the technology which puts you in a superior position. Sa kabilang dako, you’re a baby. On day zero, consultants don’t know the names, the places or the client’s lingo. Most times, consultants never learn it all.

When things go well, you become very well integrated with the client’s project team. They treat you like a co-worker in one sense, and confidant in another. Since we don’t have a manager-style reporting relationship with the client, the project team often feels a little free to air their dirty laundry. They let their barriers down and can put the consultant into an awkward position, never realizing they are doing it.

Consultants often don’t get to implement phase two and that never gets easy for me. I think this is especially hard with SharePoint. Phase one of of your typical SharePoint project covers setup/configuration, governance, taxonomy, basic content types, at iba pa. and in many respects, amounts to a lengthy, extremely detailed discovery. That’s how I view my last project. We did all the basic stuff as well as execute some nice mini-POC’s by extending CQWP, implementing BDC connections to PeopleSoft, introduced a fairly complex workflow with SharePoint Designer, touched on basic KPI’s and more. A proper phase two would extend all of that with extensive, almost pervasive BDC, really nice workflow, fine tuned and better search, records center, excel services and probably most important, reaching out to other business units. Pero, it’s not to be for me, and that’s sad.

Based on this recent experience, I think it’s fair to say that a proper enterprise SharePoint implementation is a one year process. It could probably legitimately run two years before reaching a point of diminishing returns. Details matter, mangyari pa.

That’s the consultant’s life and all of these little complaints are even worse in a SharePoint engagement. As I’ve written before, SharePoint’s horizontal nature brings you into contact with a wide array of people and business units. When you’re working with so many people, you can see so many ways that SharePoint can help the company become more efficient, save time, do things better… but you don’t always get to do them.

I often look back to my first job out of college, before starting a consulting career 1995. We did get to do a phase two and even a phase three. Those were nice times. On the downside, gayunman, that means that that would mean a lot of routine stuff too. Managing site security. Tweaking content types. Creating views and changing views. Dealing with IE security settings. Restoring lost documents. Blech! 🙂

Despite my melancholy mood, I can’t imagine a place I’d rather be (except at a warm beach with a goodly supply of spirits).

I can’t wait to get started implemented the next enterprise SharePoint project.

(Apropos of nothing, I wrote most of this blog entry on an NJ Transit bus. I don’t think I made any friends, but one CAN blog on the bus 🙂 )

</dulo>

Technorati Tags:

Linggo ng nakakatawang: “Ang mga ito ay Hindi NA Bad”

Bumalik malapit sa 1999, Ako ay gumagasta ng maraming linggo out sa Santa Barbara, CA, nagtatrabaho para sa isang client, leaving my poor wife back here in New Jersey alone. I dearly love my wife. I love her just as much today as I did when she foolishly married me 1,000 years or so ago. Sa isang lugar sa kahabaan ng linya, Ako likha ng parirala, "special fear", as in "Samantha has special fears." She as a special fear of "bugs", na sa kanyang mga hindi lilipad o ladybugs, but rather microbes. She’s afraid of this or that virus or unusual bacteria afflicting our son, o sa akin, but never really herself. (Siya ay isa ring espesyal na takot sa vampires, maliit na larawan masasamang mga manika (lalo na clowns) sa ilalim ng tubig at aksidente; siya ay out-lumaki ang kanyang espesyal na takot ng mga tao bihis sa Santa Claus outfits).

Minsan, my co-worker and I decided to drive up into the nearby mountains near Ohai. At one point, we got out of the car to take in the scene. When we got back into the car, I noticed that a tick was on my shoulder. I flicked out the window and that was it.

Iyon gabi, I told her about our drive and mentioned the tick. The conversation went something like this:

S: "Oooo! Those are bad. They carry diseases."

P: "Well, Ako flicked ito out ang window."

S: "They are really bad though. They can get under your skin and suck blood and transfer bugs. You better check your hair and make sure there aren’t any in your head!"

P: Sa malakas na boses: "My God! CAN THEY TAKE OVER YOUR MIND???"

S: Literal na reassuring sa akin: "No, ang mga ito ay hindi NA masama."

</dulo>

Technorati Tags:

Mabilis at madali: Awtomatikong Buksan ang InfoPath Form Mula sa SharePoint Designer Email

I-UPDATE: Madjur Ahuja points out this link from a newsgroup discussion: http://msdn2.microsoft.com/en-us/library/ms772417.aspx. It’s pretty definitive.

===

We often want to embed hyperlinks to InfoPath forms in emails sent from SharePoint Designer workflows. When users receive these emails, maaari nilang i-click ang link sa mula sa email at pumunta nang direkta sa form na InfoPath.

This monster URL construction works for me:

http://server/sites/departments/Technical Services/InformationTechnology/HelpDesk/_layouts/FormServer.aspx?XmlLocation=/sites/departments/Technical Services/InformationTechnology/HelpDesk/REC REM RED Forms/REC2007-12-18T11_33_48.xml&Source=http://server.corp.domain.com/sites/departments/Technical%20Services/InformationTechnology/HelpDesk/REC%20REM%20RED%20Forms/Forms/AllItems.aspx&DefaultItemOpen=1

Replace the bolded red text with the name of the form, as shown in the following screenshot:

imahen

Note that there is a lot of hard-coded path in that URL, as well as a URL-encoded component. If this is too hard to translate to your specific situation, try turning on alerts for the form library. Post a form and when you get the email, view the source of the email and you’ll see everything you need to include.

Astute readers may notice that the above email body also shows a link that directly accesses the task via a filtered view. I plan to explain that in greater detail in a future post.

</dulo>

Technorati Tags: