Mga Archive ng kategorya: SharePoint Solusyon sa Disenyo

Kinukunan “mailto:” Mga Sukatan

I’m on a project where we need to collect metrics around a function named "Share a Story." The idea is very simple — kung tumitingin ka sa isang kawili-wiling artikulo sa mga intranet at nais na ibahagi ito sa isang tao, click a link labeled "Share this story" i-email ito sa iyong buddy.

Kami-play sa paligid na may isang pasadyang paraan para sa layuning ito, ngunit sa pagtatapos, bait won ang araw at hindi na namin lamang gamitin ang pamilyar <a href = mailto:…> technique. (<a href mailto:…> ay isang nakakagulat na malakas kaunting HTML; bilang isang bonus, link na nagdudulot sa akin pabalik sa aking lumang pahina ng UNIX araw tao; iyon ay ang mga araw!).

Diskarteng ito ay nagbibigay ng isang mahusay na interface para sa mga end user mula nang makuha nilang gamitin ang kanilang mga pamilyar MS Outlook client (o kahit anong email client nila na-install).

Ito ay gumagawa ng mga bagay na mas mahirap sa amin mahinang uri ng developer dahil sila client * din * ay nais na magpatakbo ng isang ulat sa hinaharap na nagpapakita kung gaano kadalas ang mga gumagamit magbahagi ng mga kuwento at kahit na mga kuwento ay ibinahagi pinaka-madalas.

We whiteboarded a few potential solutions. My favorite is to carbon copy (CC) a SharePoint list. That way, the end user still gets the outlook client while we get to capture the event because we’ll get a copy of the email ourselves. There are some obvious drawbacks. The main problem is that the user could simply blank out or otherwise mangle the CC address. At, we need to manage that event library of emails. We have a scheduled job on the white board responsible for that cleanup.

Kung mayroon kang ilang mga matalino na diskarte sa paglutas sa problemang ito, mangyaring gawin sabihin.

</dulo>

Mag-subscribe sa aking blog.

Sundin ako sa Twitter sa http://www.twitter.com/pagalvin

Pagtukoy “Dakila” SharePoint Mga Kinakailangan

Tulad ng hiniling at ipinangako, I’ve uploaded my presentation on how to obtain "great" requirements from end users for SharePoint projects and implementations. It’s here: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/Paul 20Galvin%%% 20Great 20Requirements.zip

Ipinakita ko ito sa SharePoint Pinakamahusay na Kasanayan conference sa Pebrero 2009 (www.sharepointbestpractices.com). If you attended the conference, makakakita ka rin makakuha ng mga ito sa conference DVD.

The presentation includes a lot of notes with most slides. It’s not just bullet points.

(Tingnan dito para sa aking ibang mga pagtatanghal sa isang pag-aaral pamumuno kaso: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!3099.entry

</dulo>

Mag-subscribe sa aking blog.

Sundin ako sa Twitter sa http://www.twitter.com/pagalvin

Self-Service Site Creation Ay hindi Mismong Tungkol sa Paglikha ng Site

Tulad ng maraming mga uri ng SharePoint consultant, I’ve been exposed to a lot of SharePoint functionality. Ang ilang mga beses, I dive pretty deep. Other times I just notice it as I’m flying by to another set of menu options. One of those is "self-service site creation." I haven’t had a need for it until this week.

Sa linggong ito, I need to solve a business problem which I think is going to become more common as companies loosen up and embrace more direct end user control over SharePoint. Sa kasong ito, I’ve designed a site template to support a specific end user community. Folks in this community should be able to create their own sites at will using this template whenever the urge strikes them.

I recalled seeing "self-service site creation" before and I’ve always tucked that away in the back of my head thinking that "self service site creation" ay ibig sabihin SharePoint hindi karaniwang pangungusap, malinaw naman sapat, something like "turn me on if you want end users to be able to create sites when they want to."

Kaya, I-on ito, subukan ito at para sa akin, it’s not creating sites. It’s creating site mga koleksyon. Pretty big difference. That’s not what I want, hindi kailanman.

It is possible to let end users create new sub sites via a custom permission level. This is exactly where I would have gone in the first place except that the label "self-service site creation" label deceived me. Via twitter, Nalaman kong niloloko din ang iba 🙂

Pa rin ako nagtatrabaho out kung paano magbigay ng isang maliit na bit ng isang mas streamlined proseso habang naglalagi nang malinis out ng kahon ng, but there’s a definite path to follow. Just don’t get distracted by that label.

</dulo>

Mag-subscribe sa aking blog.

Sundin ako sa Twitter sa http://www.twitter.com/pagalvin

Technorati Tags:

Umiikot Up Temporary Virtual WFE ay para sa Kasayahan at Profit

Ako ay isa sa mga 20 o 30 (o siguro 100?) panelists kagabi sa New York SharePoint User Group meeting. Instead of the usual presentation format, ito ay tungkol sa lahat ng Q&A between the audience and the panel members. Early on, Michael Lotter ipinakilala ako sa isang bagong ideya at Nais kong ibahagi ang.

An audience member described how his company had paid a consultant to write an application for his company. The consultant wrote it as a console application using the SharePoint object model. Bilang isang resulta, this meant that the program had to be run on a server in the farm. This meant that anyone that wanted to use the app would have to log onto the server, do the work and log off. Nang una, ito ay hindi isang problema, ngunit sa lalong madaling panahon, higit pa at higit pa (hindi pang-teknikal) users needed to use the utility. His question was (paraphrasing):

"What are my options? I don’t want to keep letting users log directly onto the server, pero kailangan nila na pag-andar."

Michael Lotter iminungkahi na siya i-configure ang isang bagong virtual machine, join it to the farm as a WFE and let users run the application from there.

This is a pretty stunning idea for me. Generalizing this solution brings to mind the notion of essentially temporary, almost disposable WFE’s. I think it’s a pretty neat concept. This temporary WFE can run a console application that uses the SharePoint object model. You could also use it to run stsadm commands. It doesn’t have to be part of regular local balancing. If it goes down or gets wrecked, you can just spin up a new one. I repeat myself, ngunit ko na lang ay sabihin na sa tingin ko ito ay talagang isang kapong baka ideya.

</dulo>

Mag-subscribe sa aking blog.

Sundin ako sa Twitter sa http://www.twitter.com/pagalvin

Technorati Tags:

Malaking-scale Moss Document Pamamahala Proyekto: 50k Bawat Araw, 10 Milyon Kabuuang

Ito nakaraang linggo, may isang taong nagtanong ng isang katanungan tungkol sa paglikha ng SharePoint kapaligiran na pangasiwaan ang isang medyo mataas na dami ng mga bagong dokumento (10,000 +/- sa kasong ito). I don’t know much about this, pero salamat sa ito puting papel, Pakiramdam ko ay magkano ang mas mahusay na-kaalamang.

Sa akin, ito puting papel ay medyo magkano lamang ng aklat mark sa sandaling ito, but I did start reading through it and thought I’d highlight my main take-away. SharePoint can be scaled to handle, sa isang minimum na, ito pagkarga:

  • 50k ng mga bagong dokumento sa bawat araw.
  • 10 milyong kabuuang mga dokumento.

I write the 50k/10MM figures because they are easy enough to remember. As long as you know they are minimums, you won’t get into trouble. The maximums are at least 10 porsiyento mas mataas kaysa sa na at may matinding tuning, marahil ng maraming mas mataas na.

Salamat, Mike Walsh, sa sandaling muli para sa kanyang lingguhang WSS FAQ update at pagwawasto post. If you’re not subscribed to it, dapat mong sineseryoso isipin ang tungkol sa paggawa nito.

</dulo>

Mag-subscribe sa aking blog.

Sine-save ang Mas luma MS Office Files sa SharePoint Paggamit ng WebDAV — Mga Problema at mga Pag-aayos

Nitong nakaraang linggo, ko kasamahan and I were doing some work for a client in NYC. We were testing a different aspects of a MOSS implementation using their "standard" workstation build (na taliwas sa aming mga laptop). While doing that, namin ang bumangga sa ilang mga error sa pamamagitan ng pagsunod sa mga hakbang na ito:

  • Buksan up ng isang dokumento MS salita sa pamamagitan ng mga bintana explorer (na gumagamit ng WebDAV).
  • Gumawa ng pagbabago.
  • I-save ito.

Kami ay dumating sa mapagtanto na ang ilang beses (karaniwang sa unang pagkakataon) namin nai-save ang dokumento, the save didn’t "stick." Save did not save. We would pull that document back up and our changes simply were not there.

Hindi namin naintindihan ang root isyu sa puntong ito, but we figured that we should make sure that the latest MS Office service pack had been installed on that work station. The IT folks went and did that. We went through the test again and we discovered a new problem. When we saved it, na namin ngayon ang nakuha ko ang error na ito:

imahen

Oras na ito, ito ay tila tulad ng bawat pagbabago noon ay, sa katunayan, naka-save na, whether we answered Yes or No to the scripts question.

Namin sa wakas ay nagkaroon ng isang pagtingin sa ang aktwal na bersyon ng Office at ito ay nagiging out na ang workstation ay tumatakbo MS Office 2000 may service pack 3 na nagpapakita up sa ilalim ng Help -> About as "Office 2002".

Ang moral na ng kuwento: Ako ay laging gumamit ng Office 2003 bilang aking minimum na bersyon baseline opisina kapag gumagamit ng WebDAV at Moss.

</dulo>

Mag-subscribe sa aking blog.

Technorati Tags:

(Para sa mga layunin ng paghahanap engine, ito ay ang teksto ng error):

Linya: 11807

Pansamantalang trabaho: 2

Mali: Bagay ay hindi sumusuporta sa ito ari-arian o paraan

Kodigo; 0

URL: http://sharepoint01/DocumentReview/_vti_bin/owssvr.dll?location=Documents/1210/testworddocument.doc&dialogview=SaveForm

Gusto mo bang patuloy na tumakbo ang script sa pahinang ito?

SharePoint Migration Tip: Gamitin “untagged data” Pananaw Para sa Karagdagang Migration

Sa isa o aking pinakaunang post sa blog, Ako inilarawan sa pangkalahatang proseso namin sinundan upang i-migrate ang isang customer mula sa SPS 2003 to MOSS. A reader left a comment asking for more detail and here it is.

Para sa migration na proyekto, nagkaroon kami upang makahanap ng isang mahusay na paraan upang ilipat ang isang pulutong ng SPS 2003 documents over to MOSS. The initial load was easy enough. Create a new target document library in MOSS and use windows explorer to move the documents.

Ito ang bagong library dokumento:

imahen

Open up two windows explorers. Point the first at SPS 2003 and the second at the new document library in MOSS. The following screen shot shows this. Note that the top browser is actually pointing at my c:\Temp biyahe, ngunit maaari mong isipin na ito na tumuturo sa isang SPS 2003 dokumento library:

imahen

Matapos na i-drag at drop operasyon, ang aking target na ganito ang hitsura:

imahen

Now it’s time to deal with the metadata. Assume we have just one column of metadata for these documents named "location." We can see from the above "all documents" view that the location is blank. It’s easy enough to use a data sheet view to enter the location, or even go into each document’s properties one by one to add a location. Let’s assume that there is no practical way to assign the location column a value automatically and that end users must do this by hand. At saka, sabihin ipinapalagay may mga daan-daan ng mga dokumento (siguro libo-libo) and that it will take many many days to update the metadata. As we all know, no one is going to sit down and work for four of five days straight updating meta data for documents. Sa halip, they will break that out over a period of weeks or possibly longer. To facilitate this process, we can create an "untagged data" tingnan tulad ng ipinapakita:

imahen

Ngayon, kapag may nag-down na nakapatong sa kanilang paggastos inilalaan oras araw-araw o dalawa na i-tag migrate na dokumento, they can use the "untagged documents" tingnan upang ituon ang kanilang mga pagsisikap:

imahen

Tulad ng mga gumagamit ng mga dokumento tag, sila drop off sa listahang ito.

This notion of an untagged data view can also help with a class of data validation problem people inquire about on the forums. Sa labas ng kahon sa, there’s no way to prevent a user from uploading a document to MOSS and then not enter meta data. We can specify that a particular site column is mandatory and the user won’t be allowed to push the save button. Gayunman, kung ang pag-upload ng user at pagkatapos ay isinasara ang browser (o gumagamit ng mga bintana explorer upang i-upload ang dokumento), hindi kami maaaring pilitin sa gumagamit na magpasok ng meta data (muli, sa labas ng kahon).

This approach can be used to help with that situation. We can use a "poorly tagged data" view to easily identify these documents and correct them. Couple this with a KPI and you have good visibility to the data with drill-down to manage these exceptional circumstances.

</dulo>

Mag-subscribe sa aking blog.

Technorati Tags:

Moss Maliit na Farm Pag-install at Configuration War Story

Sa linggong ito, I’ve struggled a bit with my team to get MOSS installed in a simple two-server farm. Having gone through it, Mayroon akong isang mas malawak na pagpapahalaga para sa mga uri ng mga problema sa mga tao na mag-ulat sa MSDN mga forum at sa ibang lugar.

Ang huling configuration bukid:

  • SQL / Index / intranet WFE sa loob ng firewall.
  • WFE sa DMZ.
  • Ang ilang mga uri ng firewall sa pagitan ng DMZ at ang panloob na server.

Bago kami makapagsimula ng proyekto, we let the client know which ports needed to be open. During the give and take, pabalik-balik na sa paglipas ng, kami ay hindi kailanman tahasang sinabi ng dalawang mahahalagang bagay:

  1. SSL ay nangangahulugan na kailangan mo ng certificate.
  2. The DMZ server must be part of a domain.

Araw ng isa, we showed up to install MOSS and learned that the domain accounts for database and MOSS hadn’t been created. To move things along, we went ahead and installed everything with a local account on the intranet server.

Sa puntong ito, nadiskubre namin ang pagkalito sa ibabaw ng SSL certificate at, sadly, decided to have our infrastructure guy come back later that week to continue installing the DMZ server. Sa Pansamantala, kami solusyon arkitekto inilipat maaga gamit ang mga bagay na negosyo.

Ang isang weekend napupunta sa pamamagitan ng client at ang kukunin ang certificate.

Ang aming imprastraktura ng tao ay nagpapakita up at nadiskubre na ang DMZ server ay hindi sumali sa anumang domain (alinman sa perimeter domain na may limitadong tiwala o intranet ng domain). We wasted nearly a 1/2 day on that. If we hadn’t let the missing SSL certificate bog us down, we would have discovered this earlier. Oh well….

Isa pang araw pass at ang iba't-ibang seguridad komite, interesadong partido at (hindi gaano) inosenteng bystanders ang lahat ng sumang-ayon na ito ay ang OK upang sumali sa DMZ server gamit ang mga domain intranet (ito ay isang POC, sa wakas, hindi isang produksyon na solusyon).

Infrastructure guy comes in to wrap things up. This time we successfully pass through the the modern-day gauntlet affectionately known as the "SharePoint Configuration Wizard." We have a peek in central administration and … yee haw! … DMZ server is listed in the farm. We look a little closer and realize we broke open the Champaign a mite bit early. WSS services is stuck in a "starting" katayuan.

Long kuwento maikli, it turns out that we forgot to change the identity of the service account via central administration from the original local account to the new domain account. We did that, muling tumakbo ang configuration wizard at voila! We were in business.

</dulo>

Mag-subscribe sa aking blog.

Technorati Tags:

Learning ang Hard Way — DMZ WFE Dapat ay sa isang Domain

Kahit na ito ay hindi literal na totoo, bilang isang praktikal na bagay, isang internet na nakaharap sa web front end sa isang DMZ ay dapat na nasa isang domain (i.e. hindi ilang mga standalone server sa sarili nitong maliit na workgroup). It doesn’t need to be in the same domain as the internal WFE(s) at iba pang mga server (at marahil hindi dapat), but it needs to be a domain.

My colleagues and I spent an inordinate amount of time on a proposal which included SharePoint pre-requisites. This included a comprehensive list of firewall configurations that would enable the DMZ server to join the farm and so forth. Sadly, we failed to add a sentence somewhere that said, to the effect, "the whole bloody point of this configuration is to allow your DMZ WFE server, in a domain, to join the internal farm."

A perfect storm of events, where we basically looked left when we might have looked right, conspired to hide this problem from us until fairly late in the process, thus preventing me from invoking my "tell bad news early" rule.

Sigh.

Mag-subscribe sa aking blog.

Technorati Tags:

Pagpapatupad ng Master / Detalye ng Relasyon Paggamit ng Custom na Mga Listahan

Forum users frequently as questions like this:

> Hello,
>
> Mangyaring sabihin sa akin kung may anumang mga posibilidad upang bumuo ng isang pasadyang listahan na may
> master at detalye ng uri (tulad ng mga invoice) without using InfoPath.
>

SharePoint ay nagbibigay ng ilang mga out ng mga tampok kahon na sumusuporta sa mga uri ng mga kinakailangan sa negosyo na katulad ng.

Kalimitan, one links two lists together using a lookup column. List A contains the invoice header information and list B contains invoice details.

Use additional lists to maintain customer numbers, product numbers, at iba pa.

Use a content query web part (in MOSS only) and/or a data view web part to create merged views of the lists. SQL Server Reporting Services (SRS) is also available for the reporting side of it.

Gayunman, there are some important limitations that will make it difficult to use pure out-of-the-box features for anything that is even moderately complex. These include:

  • Size of related lookup lists vs. "smartness" of the lookup column type. A lookup column type presents itself on the UI differently depending on whether you’ve enabled multi-select or not. In either case, the out-of-the-box control shows all available items from the source list. If the source list has 1,000 mga item, that’s going to be a problem. The lookup control does not page through those items. Sa halip, it pulls all of them into the control. That makes for a very awkward user interface both in terms of data entry and performance.
  • Lookups "pull back" one column of information. You can never pull back more than one column of information from the source list. Halimbawa, you cannot select a customer "12345" and display the number as well as the customer’s name and address at the same time. The lookup only shows the customer number and nothing else. This makes for an awkward and difficult user interface.
  • No intra-form communication. I’ve written about this here. You can’t implement cascading drop-downs, conditionally enable/disable fields, at iba pa.
  • No cascading deletes or built-in referential integrity. SharePoint treats custom lists as independent entities and does not allow you to link them to each other in a traditional ERD sense. Halimbawa, SharePoint allows you to create two custom lists, "customer" and "invoice header". You can create an invoice header that links back to a customer in the customer list. Pagkatapos, you can delete the customer from the list. Sa labas ng kahon sa, there is no way to prevent this. To solve this kind of problem, you would normally use event handlers.

It may seem bleak, but I would still use SharePoint as a starting point for building this kind of functionality. Though there are gaps between what you need in a solution, SharePoint enables us to fill those gaps using tools such as:

  • Kaganapan handler. Use them to enforce referential integrity.
  • Custom columns: Create custom column types and use them in lieu of the default lookup column. Add paging, buffering and AJAX features to make them responsive.
  • BDC. This MOSS-only feature enables us to query other SharePoint lists with a superior user interface to the usual lookup column. BDC can also reach out to a back end server application. Use BDC to avoid replication. Rather than replicating customer information from a back end ERP system, use BDC instead. BDC features provide a nice user interface to pull that information directly from the ERP system where it belongs and avoids the hassle of maintaining a replication solution.

    BDC is a MOSS feature (not available in WSS) and is challenging to configure.

  • ASP.NET web form: Create a full-featured AJAX-enabled form that uses the SharePoint object model and/or web services to leverage SharePoint lists while providing a very responsive user interface.

The last option may feel like you’re starting from scratch, but consider the fact that the SharePoint platform starts you off with the following key features:

  • Security model with maintenance.
  • Menu system with maintenance.
  • "Master table" (i.e. custom na mga listahan) with security, built-in maintenance and auditing.
  • Hanapin.
  • Back end integration tools (BDC).

If you start with a new blank project in visual studio, you have a lot of infrastructure and plumbing to build before you get close to what SharePoint offers.

I do believe that Microsoft intends to extend SharePoint in this direction of application development. It seems like a natural extension to the existing SharePoint base. Microsoft’s CRM application provides a great deal of extensibility of the types needed to support header/detail application development. Although those features are in CRM, the technology is obviously available to the SharePoint development team and I expect that it will make its way into the SharePoint product by end of 2008. If anyone has an knowledge or insight into this, mangyaring mag-iwan ng komento.

</dulo>