New projectshttp://our.umbraco.orgumbracoNew projects created on our.umbraco.orgenXSLT LogHelperhttp://our.umbraco.org/projects/xslt-loghelperFri, 19 Mar 2010 15:59:33 GMThttp://our.umbraco.org/projects/xslt-loghelper 

I needed a way to easily add log rows from my xslt macros, and added a single-line-extension for that reason. And for it to be a little more complete I also added a getlog-function. 

For the most complete way to watch and handle log rows, I would recommend using the other logging packages, but if you for some reason need it inside your Xslt, you can use this.

Add a log row : 

xsl:value-of select="LogHelper:LogAdd(-1, 'heres a comment for the log')"

Iterate the log rows from last 2 days: 

xsl:for-each select="LogHelper:GetLog(2)/Log/Logrows [logHeader='Custom']

The LogAdd-function adds a row with "Custom" header.

Have fun!

I have used ideas from Niels Hartvig (HelloWorldExt) and Immo Wache (Log4Umbraco).

The whole thing is 40 or so lines of code, and you find the source at the codeplex site.

Here's a sample XSLT that adds a log row, and displays a html-table with all log rows with header "Custom" from last 1 day:

<!-- add log row -->
<xsl:value-of select="LogHelper:LogAdd(-1, 'heres a comment for the log')"/>

<!-- get log rows for 1 day and display it in a table, newest at the top-->
<xsl:variable name="getDays" select="1"/>
<table>
<tr><th>logHeader</th><th>DateStamp</th><th>userId</th><th>nodeId</th><th>logComment</th></tr>
<xsl:for-each select="LogHelper:GetLog($getDays)/Log/Logrows [logHeader='Custom']">
<xsl:sort select="./DateStamp" order="descending"/>
<tr><td><xsl:value-of select="./logHeader"/></td><td><xsl:value-of select="./DateStamp"/></td><td><xsl:value-of select="./userId"/></td><td><xsl:value-of select="./nodeId"/></td><td><xsl:value-of select="./logComment"/></td></tr>
</xsl:for-each>
</table>

 

]]>
Structured Importhttp://our.umbraco.org/projects/structured-importTue, 16 Mar 2010 09:19:21 GMThttp://our.umbraco.org/projects/structured-importIn a project I faced the issue, that I have to import large amount of data into a complex structure. The data was provided in Excel, every row reflected all the levels of the corresponding structure. (The tree was flattened into rows.) To solve this problem, I wrote a user control, which was able to import data from tabular format into the content tree. The very first row of the tabular data contains information about the document types and properties to use in the following rows, and the parent-child relations.

The next version could move the code from the user control into an environment integrated into the umbraco admin interface, for example under the "Developer" section.

]]>
Icon Pickerhttp://our.umbraco.org/projects/icon-pickerWed, 10 Mar 2010 12:49:39 GMThttp://our.umbraco.org/projects/icon-pickerDescription
The Icon Picker package makes it possible to have multiple icons to choose from in your documents or media files.

After installing
After you have installed the package a Icon Picker Datatype will be available. To use the Icon Picker add the new Datatype to a Document- or Mediatype with the alias umbracoIcon.
You select what icons the Icon Picker should contain under "Developer > Datatypes > Icon Picker".
If you want to add your own icons you can upload them either directly to or in a subfolder to "\umbraco\images\umbraco".

Before unintalling
Remember to remove the IconPicker Datatype from any Document- or Mediatype before uninstalling.

Note
To avoid performance issues I have relied on the cached content where I could. That means that when you select a new icon it will first be visible when you publish the content.

]]>
SupportContactFormhttp://our.umbraco.org/projects/supportcontactformMon, 08 Mar 2010 21:56:56 GMThttp://our.umbraco.org/projects/supportcontactformAdaptation of CultivContactForm

]]>
Twittersearchhttp://our.umbraco.org/projects/twittersearchMon, 08 Mar 2010 15:04:55 GMThttp://our.umbraco.org/projects/twittersearchThis package allows you to add a macro which display a twitter search phrase on your side.

]]>
MyPackage VS 2008http://our.umbraco.org/projects/mypackage-vs-2008Mon, 08 Mar 2010 11:33:42 GMThttp://our.umbraco.org/projects/mypackage-vs-2008A simple package creator for Umbraco as a Visual Studio project. Currently with an Xslt extension and a user control. Open this project, add your code, build, and you have an umbraco package ready to install with umb ui.

This is well suited for Umbraco developers that do most of their magic inside the Umbraco UI and do not have a cool Visual Studio Setup already. With this download one can add .net-functionality to XSLT in minutes, without having access to the web server file system. 

There's no rocket science involved, this is just a basic Visual Studio 2008 project with some umbraco binaries, a sample XSLT extension class and a sample Web user control. Plus a file and a folder needed for package creation.

To begin adding your own code to an existing Umbraco site you just need to:

1) download and open up the sample project in Visual studio 2008

2) add your own code to it, for example in MyXsltExtension.cs to add XSLT extension functionality.

3) build the project, it creates a package MyPackage.zip automatically 

4) install MyPackage.zip as a local package into your Umbraco Installation. Then you have your own functions ready to use in the Umbraco Xslt Editor. <xsl:value-of select="MyXsltExtension:HelloWorld()"/>

Since there are references to umbraco-core dll's you can also iterate within your cms nodes, as well as edit or add new ones - and everything else you might need, take a look at the API reference.

]]>
skiltz.FontPickerDropDownhttp://our.umbraco.org/projects/skiltzfontpickerdropdownMon, 08 Mar 2010 10:19:08 GMThttp://our.umbraco.org/projects/skiltzfontpickerdropdownThis is a ASP.net DropDownList which spits out a list of installed fonts.

Demo is example using Doug's ImageGen

]]>
Profanity Filterhttp://our.umbraco.org/projects/profanity-filterFri, 05 Mar 2010 13:22:15 GMThttp://our.umbraco.org/projects/profanity-filterThe Profanity Filter package provides an XSLT extension that enables you to censor profanity in your content.

This is particularly useful for content that is user-generated on a public website; for example: blog comments or forum posts.

The profanity filter is customisable via a config file. (If you have the Config Editor package enabled you can manage this from the Umbraco back-office admin.)

Once the package is installed, you can use the profanity filter in your XSLT, lie so:

<xsl:value-of select="censor:ProfanityFilter($currentPage/data[@alias='bodyText'])" />

 

 

]]>
WVD Media - TinyMCE Insert embed codehttp://our.umbraco.org/projects/wvd-media---tinymce-insert-embed-codeThu, 04 Mar 2010 18:22:44 GMThttp://our.umbraco.org/projects/wvd-media---tinymce-insert-embed-code 

This package adds a "Insert embed code" button to the TinyMCE toolbar. 

This button will allow you to insert any (HTML) embed code (from Youtube, Flickr, Slideshare etc.) directly into the editor. This allows the content manager to be more flexible about what to insert in the rich text editor.

IMPORTANT INSTALLATION INSTRUCTIONS

1) Install the package

2) Modify the config/tinyMceConfig.config in the following way:

Add

<command>
<umbracoAlias>embedcode</umbracoAlias>     <icon>../umbraco_client/tinymce3/plugins/embedcode/img/embedcode.gif</icon>
<tinyMceCommand value="" userInterface="false" frontendCommand="mceembedcode">embedcode</tinyMceCommand>
<priority>75</priority>
</command>

to the tinymceConfig/commands section

Add

<plugin loadOnFrontend="false">embedcode</plugin>

to the tinymceConfig/plugin section

3) In Umbraco, go to Developer - Data Types and click "Richtext editor" (or any other datatype you use the TinyMCE editor in). You'll see there is a new Icon with a checkbox.
Check that and click save.

4) Recycle application pool / touch web.config to see the changes in the tinyMceConfig.config propogated.


 

]]>
Paypal IPNhttp://our.umbraco.org/projects/paypal-ipnWed, 03 Mar 2010 13:25:05 GMThttp://our.umbraco.org/projects/paypal-ipn*** .net Framework 3.5 required ***

Handle Paypal IPN requests.

Install the package and add [FM] Paypal IPN Macro to a page.

The macro requires the following parameters:

  • UmbracoParentNodeId (number) - all successful IPN request are stored below this node.
  • UsePaypalSandBox (bool) - enables you to test and develop using paypal sandbox
  • UmbracoDocumentTypeAlias (string) - Specifies the document type to create when an IPN request is received.

The package installs a document type called Paypal IPN and it is recommended that you use this.

Login to paypal and set your IPN URL to point at the page conatining the Macro.

When succesfful IPN requests are received Umbraco Nodes are created under the node specified with the UmbracoParentNodeId parameter.

Testing can be done using the Instant Payment Notification (IPN) Simulator. Goto developer.paypal.com -> Test Tools -> Instant Payment Notification (IPN) Simulator.

The concept is that once an IPN node is published that you would write you own Umbraco event handlers to process the transaction.

 

]]>