Aylıq Arxiv: Dekabr 2007

Commercial Products haqqında düşünür

I put up a SharePoint Designer extensions project up at CodePlex earlier this year and even though it’s really quite limited in scope, Mən bunu tərəfindən nazil edilmişdir ki, qiymətləndirmək 40 üçün 60 (hətta 100) companies in just about two months. That indicates to me that there’s a market for that solution and if I were to successfully commercialize it, that could translate into a goodly amount of beer 🙂

My background is actually much more in product development and I know what is required to bring a top-notch product, as opposed to a CodePlex hobby project, to market. In my past life, I was responsible for product R&D for all software products. The difference between then and now is that I’m a consultant now working for an (excellent) consulting firm (Conchango). Əvvəl, I had an entire company behind me and in front of me, selling and supporting the products we brought to market. Bugün, I’d be alone.

I have several product ideas in mind, but I think the easiest would be to create a commercial version of the above-mentioned CodePlex project that uses that as a starting point and extends it further. My fuzzy off-the-cuff thinking is to charge something like $100 for an unlimited developer license and $500 per production web front end. I think I would also give away the source code.

If you have thoughts or experiences that you’re willing to share, və ya comment tərk edin email me directly. I’d like to hear opinions like:

  • Is it all worthwhile?
  • Practical suggestions for marketing, collecting money, distributing.
  • Pricing.
  • Dəstək.
  • Any other comment you’d like to leave.

It’s "easy" to come up with product ideas and to implement them, though many dozens of hours of work are required. The other stuff is not as easy for me.

</son>

Technorati Tags:

Bazar Səhər Funny: “İsa ölmək lazımdır”

Biz ilk alıb (yalnız və yalnız) "luxury" car back when hurricane Floyd nailed the east coast of the U.S. We got a LOT of rain here in New Jersey and Bir neçə gün keçdi before life returned to normal. Just before Floyd struck, biz istifadə Volvo təklif 850 GL və sonra Floyd vurdu, ev sürdü.

It was our first car with a CD player. Like most new car owners, biz bir az CD crazy getdi, revived our dormant CD collection and went on long drives just to listen to CD’s in the car. Like all fads, this passed for us and we ended listening to the same CD over and over again. Bizim halda, idi İsa Məsih Superstar.

Biri (çox) ki, rok opera parlaq ədəd yaradılması dini növləri tərəfindən ifa olunur, başda Caiaphas, the "High Priest". They sing their way into deciding how to handle the "Jesus problem" and Caiaphas directs them to the conclusion that "Jesus must die". The refrain on the song is "Just must die, ölmək lazımdır, ölmək lazımdır, this Jesus must die". You hear that refrain a lot in that piece.

O zaman, my son was about three years old. You can probably see where this is going.

I came home from work one day and my son is in the living room playing with toys and humming to himself. I’m taking off my jacket, poçt vasitəsilə axtarır və bütün adi walk-in-the-qapı məhsulları və mən birdən-birə o, yalnız deyən oldu ki, həyata, həqiqətən oxuyan deyil: "Jesus must die, ölmək lazımdır, must die." I was mortified. I could just see him doing that while on one of his baby play dates at a friend’s house — ki, körpə dostu ilə yəqin ki, sonuncu play tarixi.

We pulled that CD out of the Volvo after that 🙂

</son>

Google AdSense proqramı Into My Live məkanı Blog qarşıladınız

UPDATE: Kimi 03/09, I have found no way to integrate my live spaces account with Google Adsense. Microsoft’s system here seems to prevent all of the technical mechanisms that Google provides would-be adsense hosters. I tend to believe this is mainly a side effect of the security they’ve built into live spaces, not a direct effort to disable Adsense.

Bu SharePoint post deyil, lakin ümumilikdə bloqçular üçün maraqlı ola bilər.

Someone commented on their Windows Live Spaces blog that Google affirmatively denied their application to participate in AdSense. She theorized that Google denied her because Windows Live Spaces hosts her blog. Lakin, Mənim canlı fəzalarında blog Mən bu yaxınlarda proqram qəbul edilib, belə siyasəti ya dəyişib və ya Google bir səbəbdən onun rədd.

Əlbəttə, Mən canlı kosmosa Google AdSense inteqrasiya hər hansı aşkar şəkildə görmürəm, but it’s a start 🙂

</son>

Technorati Tags: ,

Master həyata keçirilməsi / Xüsusi Lists istifadə Ətraflı münasibətlər

Forum users frequently as questions like this:

> Salam,
>
> Ilə xüsusi siyahısını yaratmaq üçün hər hansı imkanlar var, əgər mənə deyin
> master və ətraflı növü (faktura kimi) without using InfoPath.
>

SharePoint ki, kimi biznes tələblərinə cür dəstək verən qutusu xüsusiyyətləri bəzi təmin edir.

Ümumən, 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, və s..

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.

Lakin, 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 maddələr, that’s going to be a problem. The lookup control does not page through those items. Əvəzində, 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. Məsələn, 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, və s..
  • 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. Məsələn, 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. Sonra, you can delete the customer from the list. Qutusu həyata, 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:

  • Event handlers. 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. xüsusi siyahıları) with security, built-in maintenance and auditing.
  • Axtar.
  • 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, Şərh tərk edin.

</son>

Sadə Tip: Məqalələr Query Web Part, Sütun dəyəri və XSL Axtarış

I have a column name in a content type named "Real Estate Location".

That column is of type "lookup".

Mən redaktə var <CommonViewFields> və ItemStyle.xsl sütun göstərmək.

A sadə <XSL:= seçin dəyər və…> geri sıra mövqe data ehtiva daxili dəyər qaytarır, kimi:

1;#Mayami

Insan dostu dəyər əldə etmək üçün, substring-sonra XSL istifadə, kimi:

<XSL:value-of select="substring-after(@ Real_x005F_x0020_Estate_x005F_x0020_Location,'#')"></XSL:dəyər və>

Use this technique whenever you are working with lookup values in XSL transforms and need to get the human-friendly value.

<Tamamlama />

Technorati Tags: , ,

SharePoint Beagle dekabr Up Sayı & Yaşamaq

Bir çoxunuz artıq bilirik, but the December edition of SharePoint Beagle is live.

Her yazı məncə dəyər oxu.

I want to give a little extra bump to my colleague’s article (Natalya Voskrensenskya). She provides a screen-shot extravaganza while describing how she used custom lists, iş, SharePoint Designer, data views and other elements to implement a self-service training feature in MOSS. She describes techniques that can be applied in many different business scenarios. Check out her blog while you’re at it.

Don’t forget to check out my article as well 🙂 I wrote about using MOSS to help an HR department manage open positions.

</son>

MOSS mənə deyir “Access Reddedildi” bir Workflow Task Düzen, Amma həqiqətən Qonaq var

I’ve implemented a workflow using SharePoint Designer in a site which is mainly read-only to "NT_AUTHORITY\Authenticated Users" (i.e. hamı). There is a forms library for an InfoPath form. There is an associated workflow tasks list as well so that when the workflow operates, insanların vəzifələri təyin edə bilər.

Mən heç bir təsdiq istifadəçi formaları yaratmaq və onların tapşırıqlarını təkmilləşdirə bilər ki, formaları kitabxana və tapşırıq siyahısı üçün icazə qırmaq.

I test with my low-privileges test account.

Mən doldurun və kitabxana forması saxlaya bilərsiniz? –> YES

Bir e-poçt link vəzifə əldə edə bilərsiniz? –> YES

Mən Edit iş vəzifə link edə bilərsiniz –> YES

Hesab edirəm ki, linki vurun? –> NO … İcazə Reddedildi.

Mən bunu basın zaman niyə mənə icazə inkar ki edit link bilərsiniz? That’s not how it’s supposed to work…

Mən təhlükəsizlik konfiqurasiya keçmək, very closely. I do it again. Mən bu post silmə hesab Mən açıq-aydın təhlükəsizlik haqqında bir şey bilmirəm.

Nəhayət, I search the Internets. I find this highly unlikely MSDN forum thread: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

Plakatlar bir sürücü platter üçün iş ixrac sadə akt MOSS təhlükəsizlik problemi düzeltmek edəcək ki, təklif görünür? I can hardly believe I just typed that. I’m reminded of the South Park episode about the 9/11 Stan bizim Preznit xahiş yerləşir sui-qəsd, "Really?" over and over again.

Belə, itirmək heç bir şey, Mən yanğın SPD, ki, iş sağ basın və mənim c qeyd edin:\ drive. That would be the c:\ drive on my laptop. I’m looking over my shoulder the whole time so that no one will ask me, "why are you saving that workflow to your laptop?"

Inanılmaz, that solves my problem. I can edit the task.

Mən bununla da ən qəribə Workflow Geçici Çözüm üçün bu irəli 2007.

</son>

Technorati Tags:

SharePoint Designer, Cari maddənin “Kodlaşdırılmış Mütləq URL” və HTTPS

We often want to send an email that includes a hyperlink to the item or document that triggered the workflow. We can use current item’s "Encoded Absolute URL" for this purpose. Lakin, it always seems to use "http" for the URL protocol. If your site runs on HTTPS then it will not work for you.

image

Bildiyimə kimi, bu problemin qutusu həlli heç orada. Siz HTTPS istifadə etmək lazımdır, Siz qutusu seçimi heç həyata var.

Həll etmək, Sizin iş istifadə etmək funksiyası əvəz simli təmin edən xüsusi fəaliyyət yaratmaq. Alternatively, burada belə gözəl paketi kimi bir 3-cü tərəf aracı istifadə: http://www.codeplex.com/spdwfextensions 🙂

</son>

Technorati Tags: ,

Tez və asan: Site Sütun Daxili Sütun adı müəyyən

UPDATE: Jeremy Thake Bu barədə blogged və bir qədər qoymuşdur bir konsol tətbiqi üçün kod daxili adları göstərir ki,.

I was trying to get a content query web part to display a due date from a task and because the screen label is "Due Date", Mən sütun adını istifadə etmək güman <CommonViewFields> is "Due_x0020_Date".

Yanlış!

The real column name in this case was "DueDate".

Nasıl almısan? I re-read Heather CQWP değiştirmeyle haqqında Süleymanın blog giriş to show additional columns of data. She describes this process at step #13. Trust it. It’s correct. At least, it was correct for me. I did not trust it at first for another column with a much longer name.

I say "Trust it" because I did not trust it and probably wasted near two hours butting my head up against a wall. After I resolved the "DueDate" ad, Mən başqa sahədə əlavə etmək istədi <CommonViewFields>. Using the Solomon technique, I was getting a column name like "XYZ_x0020_Project_x0020_Due_x00".

Özümə düşündüm, that’s clearly a truncated name. I went ahead and un-truncated it with no success. I finally used the seemingly truncated name and it worked.

Bonus ipucu: Mən CQWP ilə iş zaman, Mən pis bir daxili adı eklendiğinde <CommonViewFields>, the CQWP would tell me that the query had returned no results. Lakin, Mən sahədə adı bir veri növü eklendiğinde, it would return a result. Adding the data type actually masked a problem since I was referencing a non-existent field. I could add it, amma onun dəyəri keçirmək üçün cəhd zaman, I would always get a blank.

Bu səhv maska ​​etməyib:

<CommonViewFields>Due_x0020_Date;</CommonViewfields>

Bu səhv maska ​​idi:

<CommonViewFields>Due_x0020_Date,DateTime;</CommonViewfields>

</son>

ItemStyle.xsl üçün Breaking dəyişikliklər çəkinin

Mən nahar vaxtı haqqında Məqalələr Query Web Part və hüquq görünüşünü özelleştirmek üçün ItemStyle.xsl ilə iş, I made a breaking change to the xsl. I didn’t realize it, but this had far reaching effects throughout the site collection. I went off to lunch and upon my return, yerlərdə bir dəstə görünen bu mesajı qeyd:

Bu Web Part göstərilə bilmir. Problem giderme, Microsoft Office SharePoint Designer kimi bir Windows SharePoint Services uyğun HTML redaktoru bu Web-səhifə açmaq. Problem davam edərsə, Web server administrator müraciət.

Mən müştəri ittiham (bu nöqtədə hələ bu mənim günahım idi ki, həyata deyil) lakin sonda Visual Studio IntelliSense I bad XSL idi ki, mənə xəbərdarlıq etdi ki, qeyd. Mən bunu düzəldilir və hər şey iş başladı.

ItemStyle.xsl ilə iş zaman ehtiyatlı gözəkli olun (və qlobal XSL faylları hər hansı bir) — onları qırılma site toplanması bir çox əsərlər təsir.

<Tamamlama />