Месечни архиви: Декември 2007

Размислувајќи за комерцијални производи

I put up a SharePoint Designer extensions project up at CodePlex earlier this year and even though it’s really quite limited in scope, Јас се процени дека тоа е се преземени од страна на 40 да 60 (можеби дури и 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, што може да се претвори во добра количина пиво

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). Претходно, I had an entire company behind me and in front of me, selling and supporting the products we brought to market. Денес, 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, Ве молиме оставете коментар или email me directly. I’d like to hear opinions like:

  • Is it all worthwhile?
  • Practical suggestions for marketing, collecting money, distributing.
  • Pricing.
  • Поддршка.
  • 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.

</крајот>

Недела утро Смешни: “Исус мора да умре”

Ние го купи нашиот прв (и само) "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 Неколку дена веќе поминаа before life returned to normal. Just before Floyd struck, ние направивме понуда за користени Volvo 850 GL и после Флојд погоди, возеше дома.

It was our first car with a CD player. Like most new car owners, отидовме малку ЦД луд, 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. Во нашиот случај, тоа беше Исус Христос Суперѕвезда.

Еден од (многу) брилијантен парчиња во тој рок операта е испеана од основањето религиозни типови, предводени од Кајафа, 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, мора да умре, мора да умре, this Jesus must die". You hear that refrain a lot in that piece.

Во времето, 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, во потрага преку пошта и сите мојата вообичаена прошетка-in-the-врата работи и јас одеднаш сфати дека тој е само велејќи, навистина не пее: "Jesus must die, мора да умре, 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 — веројатно последна претстава тек со тоа бебе пријател.

We pulled that CD out of the Volvo after that 🙂

</крајот>

Google не го прифати мојот Live Spaces блог во програмата AdSense

Ажурирање: Како на 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.

This is not a SharePoint post, but might be of interest to bloggers generally.

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. Сепак, I was recently accepted into the program for my live spaces blog, so the policy has either changed or Google denied her for some other reason.

Се разбира, I don’t see any obvious way to integrate Google AdSense into my live space, but it’s a start 🙂

</крајот>

Technorati Тагови: ,

Спроведување на мајстор / Детали Врски Користејќи прилагодено Листи

Форум корисници често како прашања како ова:

> Здраво,
>
> Молам да ми кажете ако има било какви можности да се изгради сопствен список со
> господар и детали тип (како фактури) без користење на InfoPath.
>

SharePoint обезбедува некои надвор од кутијата карактеристики кои го поддржуваат видови на деловни барања, како што.

Воопшто, one links two lists together using a lookup column. List A contains the invoice header information and list B contains invoice details.

Користат дополнителни листи да се задржи клиентите броеви, производ броеви, итн.

Користете содржината на Барањето веб дел (во Мос само) and/or a data view web part to create merged views of the lists. SQL Server Reporting Services (СРС) исто така е достапна за пријавување страна од тоа.

Сепак, 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:

  • Големина на поврзани пребарување листи 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 предмети, that’s going to be a problem. The lookup control does not page through those items. Наместо, 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. На пример, 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. Јас го напишав во врска со овој овде. You can’t implement cascading drop-downs, условно овозможите / оневозможите полиња, итн.
  • 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. На пример, SharePoint овозможува да креирате две сопствени листи, "customer" and "invoice header". You can create an invoice header that links back to a customer in the customer list. Потоа, you can delete the customer from the list. Надвор од кутијата, there is no way to prevent this. To solve this kind of problem, што нормално ќе го користи настанот ракувачи.

Тоа може да изгледа мрачна, 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 ни овозможува да се пополни овие празнини користење на алатки како што се:

  • Event handlers. Use them to enforce referential integrity.
  • Обичај колони: Create custom column types and use them in lieu of the default lookup column. Add paging, визуелниот и AJAX карактеристики за да ги направи одговора.
  • ЦРБ. 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.

    ЦРБ е карактеристика Мос (не се достапни во WSS) and is challenging to configure.

  • ASP.NET веб форма: Создаде целосно опремен AJAX-от форма која го користи објектот SharePoint модел и / или веб сервиси да потпора SharePoint листи истовремено обезбедувајќи многу одговора кориснички интерфејс.

На последната опција може да се чувствуваат како да сте почнувајќи од нула, но се разгледа на фактот дека на платформата SharePoint ви започнува со следниве клучни карактеристики:

  • Безбедност модел со одржување.
  • Мени систем со одржување.
  • "Master table" (i.e. сопствени листи) со безбедноста, вграден во одржување и ревизија.
  • Пребарување.
  • Назад Крај интеграција алатки (ЦРБ).

Ако започнете со нов празен проект во Visual Studio, имате голем број на инфраструктурата и водовод за да се изгради пред да се доближиме до она што SharePoint нуди.

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, Ве молиме оставете коментар.

</крајот>

Брзо Совет: Содржината Пребарување Веб Дел, Пронајди колона вредност и XSL

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

That column is of type "lookup".

Имам пат е изменета <CommonViewFields> и ItemStyle.xsl да се покаже на колоната.

Едноставен <XSL:вредност на одберете =…> се враќа назад внатрешна вредност, која вклучува реден позиција на податоци, како што се:

1;#Мајами

За да се добие човек-пријателски вредност, го користите XSL подниза-по, како што е прикажано:

<XSL:value-of select="substring-after(@ Real_x005F_x0020_Estate_x005F_x0020_Location,'#')"></XSL:вредност на>

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

<крај />

Technorati Тагови: , ,

SharePoint Бигл декември прашање Up & Живеат

Многумина од вас знаат ова веќе, но во декемврискиот број на SharePoint Бигл е во живо.

Секоја статија е вредно да се прочита во моето мислење.

Сакам да им даде малку екстра судрат до мојот колега статија (Наталија Voskrensenskya). She provides a screen-shot extravaganza while describing how she used custom lists, работното, 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 нејзиниот блог додека сте во тоа.

Не заборавајте да проверите мојата статија as well 🙂 I wrote about using MOSS to help an HR department manage open positions.

</крајот>

Мос ми кажува “Пристапот е одбиен” За да промените Работното Задача, Но, јас навистина немаат пристап

I’ve implemented a workflow using SharePoint Designer in a site which is mainly read-only to "NT_AUTHORITY\Authenticated Users" (i.e. сите). There is a forms library for an InfoPath form. There is an associated workflow tasks list as well so that when the workflow operates, тоа може да му ја додели задачи на луѓето.

Јас се скрши дозвола за формите библиотека и задача листа, така што било најавен корисник може да се создаде форми и надградба на нивните задачи.

I test with my low-privileges test account.

Можам да ги пополните и спаси форма на библиотеката? –> ДА

Јас може да пристапите до задача од е-мејл линк? –> ДА

Можам да видам на работното Уреди задача линк –> ДА

Можам да кликнете на овој линк? –> НЕ … Дозвола одбиен.

Зошто јас да ја видите уреди линкот кој го негира ме дозвола кога ќе кликнете на неа? That’s not how it’s supposed to work…

Одам низ безбедност конфигурација повторно, very closely. I do it again. Сметам бришење на овој пост затоа што очигледно не знаат ништо за безбедноста.

Конечно, I search the Internets. I find this highly unlikely MSDN forum thread: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

На постери се чини дека се укажува на тоа дека самиот чин на извоз на работното да се вози послужавник ќе го поправи за безбедност Мос прашање? I can hardly believe I just typed that. I’m reminded of the South Park episode about the 9/11 заговор каде Стен бара нашата Preznit, "Really?" over and over again.

Така, нема што да загуби, Јас оган до СПД, кликнете со десното копче на работа и зачувајте ја на мојот в:\ 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?"

Неверојатно, that solves my problem. I can edit the task.

Јас ова го номинира тоа да биде најбизарниот Работното избегнат на 2007.

</крајот>

Technorati Тагови:

SharePoint Designer, Тековната елемент “Кодирани апсолутна URL-то” и 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. Сепак, it always seems to use "http" for the URL protocol. If your site runs on HTTPS then it will not work for you.

сликата

Колку што знам, there is no out of the box solution to this problem. If you need to use HTTPS, you have no out of the box option.

To solve it, create a custom action that provides a string replace function to use in your workflow. Alternatively, use a 3rd party tool such as the excellent package here: http://www.codeplex.com/spdwfextensions 🙂

</крајот>

Technorati Тагови: ,

Брз и лесен: Утврди внатрешна Колона Име на Мапа Колона

Ажурирање: Jeremy Thake го блогираа за ова и да постават некои код за конзола апликација што покажува внатрешна имиња.

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", Јас претпоставува дека името на колоната за употреба во <CommonViewFields> is "Due_x0020_Date".

Погрешно!

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

Како не сум го најдете? I re-read Heather Блог Соломон влез на менување CQWP to show additional columns of data. She describes this process at step #13. Trust it. It’s correct. Најмалку, 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" име, Сакав да додадете друга област да <CommonViewFields>. Using the Solomon technique, I was getting a column name like "XYZ_x0020_Project_x0020_Due_x00".

Јас помислив, 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.

Бонус совет: Кога работев со CQWP, ако Јас додадов лоша внатрешна име <CommonViewFields>, the CQWP would tell me that the query had returned no results. Но, ако Јас додадов тип на податоци на име на поле, 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, но кога се обидов да се прикаже својата вредност, I would always get a blank.

Тоа не се маскираат грешка:

<CommonViewFields>Due_x0020_Date;</CommonViewfields>

Ова се маскираат грешка:

<CommonViewFields>Due_x0020_Date,DateTime;</CommonViewfields>

</крајот>

Пазете се Ударни Промени во ItemStyle.xsl

Јас работев со ItemStyle.xsl да го прилагодите изгледот на содржината на Барањето Веб Дел и право за ручек време, 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, забележав оваа порака се појавува во еден куп места:

Не можам да се прикаже оваа веб Дел. За смена на проблемот, ја отворите оваа веб страница во Windows SharePoint Services-компатибилен HTML едитор како на пример Microsoft Office SharePoint Designer. Ако проблемот продолжи, контактирајте го вашиот веб сервер администратор.

Јас ја обвини клиент (не сфаќајќи што се уште дека тоа беше моја вина во овој момент) but eventually noticed that visual studio intellisense was warning me that I had malformed XSL. I corrected it and everything started working.

Биде плетен внимателни кога се работи со ItemStyle.xsl (и сите на глобалната XSL датотеки) — кршење на нив влијае на многу артефакти во сајт за собирање.

<крај />