Sense/Net 6.0 Devblog
The development blog of Sense/Net 6.0
Back to Sense/Net

The sn:SenseNetDataSource is here!

December 1, 2009 19:25 by Peter Zentai

I am really excited to announce that today -as part of the Beta5 marching- we checked in the SenseNetDataSource feature.

With this new ASP.NET DataSource you can use the Sense/Net Content Repository with the rich set of DataBound controls  provided by Microsoft and other vendors (like GridView, ListView or Form) to produce more in less time using the data driven, rapid application development approach.

Also, the SenseNetDataSource (and some other controls I’ll tell you about later) makes it easier for you to build declarative solutions, that are easier to maintain, as much of the scenarios that in previous Betas needed coding now can be developed without a line of code – as long as we don’t consider writing html tags coding :).

So here is how it works: of course the way you expected it. You place a SenseNetDataSource object in the markup (you can do this from code of course) and link it to a DataBound control - GridView in our example.

image

The ContentPath attribute specifies the Content (typically a collection) we are interested in. MemberName is optional, and its default value is “Children” – so the default behavior is to list a content’s child items. You can also target reference properties with the MemberName attribute if the content has any (like “Related Articles” can be a reference property defined on an Article content type).

The result is as might expected to be:

image

Beyond accessing simple collections of the Content Repository, the SenseNetDataSource can also provide an easy access to the ContentQuery functionality. Setting the Filter, OrderBy and GroupBy attributes will help you to define your query expressions on an easy, declarative way.

But wait! Haven’t I seen Eval and BoundField there? So all these new stuff now needs C# classes and so? Do I have to define my content types in CODE NOW????

 

Wait, no! Not at all! Quite the contrary: the best thing is that all these data binding magic works with the Content Types you created as Content Types Definitions – mere XML data. This is a really really important thing: with Sense/Net 6.0 your are able to define data types – content types we call it – dynamically and then your are able to treat instances from them as strongly typed, bindable data entities.

Here is how it works:… But now I really must be going home :) I’ll finish this today, so stay tuned.

Web Platform Installer benefits in our new installer

May 22, 2009 12:28 by Peter Zentai

We are minutes away from being ready with our Web Platform Installer based installer package. This will give us the following list of benefits compared to the previous, zip-file based version

  • Wizard based installation - no command line is involved 
  • Database connection is set during install time
  • Database is created on the client machine instead of the attaching of an existing MDF file
  • Multiple IIS sites are supported
  • IIS Integrated Pipeline mode is supported
  • No need for wildcard application maps
  • Support for cooperation with existing web sites on IIS7

 

Sense/Net 6.0 Beta 3 released

March 25, 2009 16:41 by Peter Zentai

It's now only the matter of minutes and our newest release will be revealed on Codeplex. There is a lot work in this release and we do hope you will enjoy its results.

In the last minute we found an important scenario in the Source Code version that leeds to an unexpected behavior by pressing F5 in the VS solution. The Visual Studio  development experience is a key aim for Sense/Net 6.0, therefore the Pending release in Codeplex remains pending untill the solution for the issue is tested. It shouldn't take longer then a couple of hours :). 

I was happy about being rated to 1 by someone. This is a sign of ipatience for me, for what I really thank you guys.

(If you can't wait all you have to do is join to the SenseNet codeplex team to be able to see pending releases)

A week after I initially planned we released the Beta 3 finally. Check http://www.sensenet.hu/download for details.

Sense/Net 6.0 Beta 3, Package installer and XSLT support

February 12, 2009 23:57 by Peter Zentai

The new Beta release is comencing. This part of a release phase I enjoy the best: the new features we planned for the release are rolling down from the assembly line each and every day. Pretty much an Xmas for a guy like me. The Beta 3 release aims two targets. Firstly we are planning to achieve a level of readyness able to serve a pruduction installation and as such is ready to be used in a commercial project. Secondly we are adding a couple of new features and modules that are a must in a real word portal building scenario. I'll be pleased to share the list of new features as the date of the next Beta is set.

Two particularly interesting pieces of this weeks goodies are the Package installer and the XSLT rendering support in the Sense/Net 6.0 portlets.

Package Installer  

The Package Installer as its name implies let's you pack your portal modul solution in an installable unit and upon installation deploys the items the new module requires. As we and hopefuly the community releases new functionality the Package Installer will be an essential tool in submitting and deploying reusable portal modules.

The Package Installer supports the following portal building items (bricks):

  • Content Views (ascx files)
  • Content Handlers (classes inside an assembly)
  • Content Type Definitions
  • Page Templates
  • Portlets (classes inside and assembly)
  • Assemblies
  • SQL state changers (sql scripts :))
  • and conventional portal content like files, folders and content meta files

The cool thing is that there is a number of way to create a package. If you are a VS2008 developer you can embed the deployable content in an assembly, place some attributes to define what to install and there you go. If you need more control, you can subclass the PackageInstaller class and override the necessary functions. Should you be someone not entirely living inside the VS2008 you can create packages from mere file system files and zipping them up into a file will be just as good provided you dont need the control over the installation process.

XSLT rendering support

Beyond default ASCX based view rendering XSLT can be used to handle complex display scenarios. Here you code the raw html output with the excellent capabilities of the XSLT language to transform XML data into custom html.

The Sense/Net 6.0 factory built modules will support custom XSLT transformations as views by providing the serialized xml version of the data returned by the portlet logic. XSLT transformations can be uploaded as simple files to the portal and later be used as conventional Content Views. Custom portlets can support XSLT rendering by overriding the PortletBase.GetModel() or the SerializeModel() functions.

 

Sense/Net 6.0 Beta 2 is available for download

December 24, 2008 20:28 by Sándor Kiss

In less than 3 months after the release of the first beta, the Sense/Net 6.0 Beta 2 is available for download.

Sense/Net 6.0 Beta 2 comes with new features like:

  • New Portal Explorer based on ExtJS 2.2
  • WebDAV support for the Sense/Net content repository (PFS)
  • Import & Export form content repository
  • Document Library portlet added
  • Improvement is other portlets
  • Content Store REST service and CMIS service prototype
  • A ton of bug fixes and optimizations
You can read the release notes at http://wiki.sensenet.hu/index.php?title=Sense/Net_6.0_Beta_2_release_notes

Please register at our website for beta test and/or download the latest release.

Happy holidays.

Content Types - The Basis Of Sense/Net 6.0

October 7, 2008 20:40 by Orosz Gergely

Content Types are the heart and soul of Sense/Net 6.0.

A content type is a reusable set of fields you want to apply to certain contents.  Everything (every content) you see in Portal Explorer and on Sense/Net 6.0 portal pages is defined by Content Types - all the files, users, groups, webcontents, page templates, pages and even folders.

If you will be building a site the first thing you will be bumping into are Content Types. For example if you want to run a news site the first thing you will have to do before being able to start off with any kind of designing or programming is define what an article will contain - define its Content Type. Lets say you decide that an Article needs to have an author, title, abstract,  text, and related articles. You will have to create this Content Type. From then on you will be able to start creating and managing these articles in the backend of your portal via the Portal Explorer. And only after that will you will be creating specific Content Views to display these articles on your website in the layout(s) you prefer.

If you want to dig deeper into this topic read the wiki page on Content Types and Tamás's article on Content Type Definitions. If you want to move on check how you can create a Content View to display a Content Type.

Sense/Net 6.0 Released

October 1, 2008 22:47 by Orosz Gergely

It's been a long way. It started with the Sense/Net Portal Engine 1.0 back in 1998. From this construction evolved the 2.0 and upcoming versions all the way up to the Sense/Net Portal Engine 5.5 Release 2 released in 2006. This was a truly enterprise CMS but with the source closed. Two years ago we decided to start from scratch and develop a radically new concept under an open source lincense. And today we've come to the point when all of the Sense/Net team is happy to announce that 

Sense/Net 6.0 Beta 1 has been released!

This is the end of a long road, and the beginning of an even longer one. By opening up the project and the source we want you to use, spread and help the develop a project truly unique.

Join us on this journey 

And harvest the most of SenseNet 6.0.

Distributed Cache in Sense/Net Portal Engine TNG

August 17, 2008 16:04 by Peter Zentai

Huhh, quite a time since the last post, so many things to care about as the planned release commences. Last week we've finalized the cache implementation of the Sense/Net Portal Engine TNG so I decided to share some of its more important or interesting aspects. More...

Quality centric development - the way the Sense/Net Portal Engine TNG is created

July 17, 2008 20:37 by Peter Zentai

One thing I was really seduced by getting a member of the TNG dev team was the totally cool and enterprise level way the product is created.

Unit tests are crucial. And not just by the corporate quality rulebook: developers have adopted the concept of only treating a code ready when sufficient tests are also created. So we have tests, lots of tests covering as much of the source and the functionality as possible. Today Gyeby - the TNG dev lead - revealed that for the PortalFileSystem we have the 74% of source covered by tests, and for the PortalEngine this is 45%. And of course - we will release the test projects together with the Portal Engine TNG source - so everyone can rely on it. This is pretty cool I guess.

Our source management is based on Team Foundation Server and check in time automated test runs provide us continuous integration features. No source can get in the system unless it is proved itself correct and GREEN. This saves us from regular homicide situations when let's say his or her loosely tested and failing interface implementation would ruin my silverlight prototype application or vice versa.

Plus source code related events from our TFS are routed to the company quality management framework - required by the ISO9000. This puts the question of the source code quality management to overall company focus.

We are building an enterprise portal engine not only in the means of product functionality.

 

Choosing a Default Skin

July 10, 2008 18:56 by Tamás Bíró

We have started preparing for the First Release. In the installation packed, we needed a Default Skin, a skin which will be used to build the pages in the default installation. We have abandoned the idea of using a Beer manufacturing company for the demo portal, as we respect cultures where alcohol is not welcome. so we decided to use the design of our own intranet, which is totally politically correct. This is the screenshot of our current intranet, similar to our website.

The HTML used to build the site is Valid XHTML 1.0 Strict. There is a slight difference in the HTML of our site and the HTML produced by the Sense/Net Portal Engine TNG portlets, because we wanted to give designers greater flexibility in changing the design with CSS only. If we use a very simple HTML, some designs can only be implemeted, if the designers make changes to the HTML itself. If we create a slightly more detailed HTML, adding some extra DIV-s, designers will be able to implement portlas without the need to change the HTML.

In the previous version of Sense/Net Portal Engine, HTML had to be produced by an XSLT stylesheet, which was cumbersome and sometimes ugly to work with. In TNG, we produce HTML which is built in such a way, that it covers almost all design scenarios, except for the most complicated. This way, about 90% of portals will not need to change the HTML, so 90% of designers will not have to use XSLT, which is good news, you know, time is money. And who wants to author XSLT-s anyway.

To implemet your own design, you take the Default Skin's CSS, and make changes to it. The HTML is so nice, it works pretty well in WYSIWYG HTML editors, such as seen on the screenshot below. You can also get a sneek preview of the source here.

Note, that the font in the blue caption of the portlet is not the same as in our website. This is because in the website, we use a technique called sIFR (Scalable Inman Flash Replacement) to change the text into a little piece of flash, which displays the same text, but withour brand font, Frutiger.

Bookmark and Share