4.06.2011

.NET MVC DropDownList, SelectList and Selected Value

If you've tried using the Html.DropDownList in .NET MVC you know that it the selectedValue of the populating SelectList doesn't work. The frequently posted workaround, is to change the name of DropDownList to something other that the field it is supposed to be bound to.

Perfect, now the value is selected in the list as expected. BUT, the problem with this however is that is the DropDownList no longer binds to the model as needed. Since we've changed the name, updates to the database do not work. After reading numerous posts on Stackoverflow I discovered zero solutions.

Here is how I resolved it:

Assuming that your SelectList is constructed in your Controller or ViewModel like this:

CatsRepository CatsRepo = new CatsRepository();
CatsList = new SelectList(CatsRepo.FindCats(), "CatId", "Category", Content.CatId);


The HTML.DropDownList can be constructed in your control like this:


%lt;input type="hidden" name="CatId" id="CatId" value="" /%gt;
%lt;%= Html.DropDownList("CatIdList", Model.CatsList, new { @onchange = "CatId.value = this.value"})%%gt;

In Summary,

1) I renamed my "CatId" bound DropDownList to "CatIdList".
2) Then I added a hiddel field named "CatId" setting it's value to "".
3) I added a "new { @onchange = "CatId.value = this.value"}" as an htmlAttribute to my DropDownList, so when a different value is picked it updates the hidden field value accordingly.

1.19.2011

SOAPUI - Failed to import wsdl

It seems that this is a very generic error, but if you examine the SOAPUI logs you can usually find out what's causing it. The SOAPUI error log (found in the "soapUI Logs" in the eclipse soapUI perspective tabs) shows the error details.

In my case, there was a SchemaException: Error loading schema types. My WSDL referenced numerous .xsd schemas, one of which was on a secured remote site. I changed the schema reference to a local address using the 'schemaLocation=../localpath/some.xsd' attribute of the import tag and all worked fine.

How to check if JBoss WS is deployed

It seems like a simple task, but it took me a little while to determine whether or not my Web service deployed to JBossWS from Eclipse actually got deployed. Just browse to http://localhost:8080/jbossws/services, and you can see what services are active on the server.

3.19.2009

Big Fish, Little Fish: Tracking Web Startups

Gone are the days of the dotcom boom, but there are still alot of new ideas being launched. After spending some time on WebWare and KillerStartups you can see the current trends, which as of late are social networking and micro-blogging. There are all kinds of widgets and mash-ups that take advantage of the API's that the bigger fish are providing.

Web Business Models

Making money from an idea. This is something most of us would like to learn more about. Dan Zamboni over at Box UK gives a nice breakdown of Web business models. Dan's Web business model taxonomy is loosely related.

In general, Dan defines 2 top-levels "immediate" and "long-term". The immediate (short-term) level breaks down into what we see in most Web revenue models --subscription based, one-time payments or 3rd-party (sponsor/partner/advertiser) supported. At the long-term level (do you have the patience?) the general idea is to build an audience before expecting any return -- "Attract a substantial audience before monetizing".

Now to figure out which ones are the most successful. What do you think?

3.18.2009

Tripping on Egos

This isn't really a post, more like a stumple upon. Today, I was lucky enough to discover a large ego pool: http://www.monitortalent.com. How nice that these folks are there to guide us.

Why Unstructured Classification Matters?

Clay Shirky once write a great article about the importance of user defined classification. This is even more important for the socially networked "Web 3.0" CMS. Of course a CMS will let the publisher classify content by format/function (ie; content type) and topically (ie; categories,sub category,etc..) -- But the new CMS will also let me "tag" my content and generate another map it.

5.09.2007

11

Today I discovered and interesting article on 11 usability principles for CMS products. While I don't completely agree with some of the author's principles, usability is a critical consideration for Content Management Systems.

4.26.2007

Technical Considerations for Choosing a CMS

Can the CMS host multiple websites without separate installations?

Does the CMS allows for integration with additional plug-ins where required
For example, future features might include forums, mapping packages, statistics,
geographical tracking, etc.

Is there a customizable front-end styles on the CMS interface
We would like to be able to style up the interface of each separate instance of the CMS in different look & feels. Specifically we want to be able to change colours, font styles, and maybe images. Some CMS solutions allow you to edit the text straight on the website (after logging in) not via an admin site. In this case this feature is not applicable.

Is there a WYSIWYG editing interface
The user can see the page change as they are editing it, in the same look & feel (template) as the actual page. A preview button would also be ok.
Maybe even a preview website that displays latest changes rather than published items as the live site does. MS Word style formatting options appear at the top of the edit area, so that users can change the style without HTML knowledge.
Code should be cross-browser compliant (IE 6+ and Firefox 1+) and ideally accessible.

Does it allow Blog-style visitor comments
When enabled, website visitors can post comments on articles published on a website.
This technology would allow us to use the CMS as a Blogging tool.
CMS administrators can choose whether anyone can comment, only registered users (manageable via the CMS) or only team members.
Email alert goes to administrators for approval before a comment appears.

Is there staged content management (preview / live)? Can development content can be easily migrated to live. It should be easy for us to start adding content while the site is in development (on a development server) and for the same content then to be available on the live site. So some sort of extract from development which is able to be inserted on live. Some CMS's appear to assign id's to items which are referenced and this mean they are then not copyable to separate database instances where the id's may already be taken.

Is the CMS Modular / Pluggable?
All options are simple to turn on and off for different sites.
For example, advanced options like changing navigation are disabled by default, but can be switched on, if we need it.

Is there an keyword / text search in the CMS?
So that users can easily find the content they are looking for. With Keyword highlighting.

Is there automatic RSS feed generation of page content?
A tick box to decide whether an RSS feed link appears on the page or not.

What type of security model does the CMS offer? Different permissioning levels - lock content from certain users
We need at least the following levels:
* User (can edit but not publish)
* Moderator (can edit and publish)
* Administrator (can edit, publish, and change navigation, user permissions, etc)
Preferably, we would like a system where the administrators can set permissions for other users, and create custom user groups. Sections of the public website (I.e. not the admin section) can be kept behind a login.
Access can be administered from within the CMS system.

Can the navigation/menu be changed at all levels, add new pages as necessary
Ideally the CMS should be able to change the entire structure of the site.

Is there automatic updating of the Sitemap
Based on any changes to page titles or navigation.

Are there user-defined templates?
Can Administrators define new templates for pages and add new data fields to existing ones as required.

Auto-populate details based on login
Certain fields of the templates are automatically populated. Such as date and author.

3.06.2007

Another Ping Test from Google Blog

This is a test of the blog server ping system. I hope to add a Technorati Ping tag to get this updated. Post a comment if you see it worked!

10.31.2006

Overcoming Weaknesses in CMS / Portal Software

Historically, the obstacles in this space (CMS) have been cost and ease of use.

Cost

There is really no rhyme or reason to the cost of CMS software. The cost problem is that the great majority of CMS / portal vendors use competitor-based pricing which has created greyness for buyers. "Why is this CMS product $1000 and this other CMS product $50,000?". Or as I have often heard, "Your CMS app does the same thing as one that was came in at over 6 figures." Secondly, application pricing and offshore programming fees have plummeted, so vendors have tried to reclaim what was lost with increasingly higher license prices. Typically license pricing is done either per CPU or per user.

Ease-of-Use

Out-of-the-box most business users will be intimidated by the user interface offered. If you speak to existing portal users they will most likely call their portal software a nice demo, but very cumbersome to work with. Arranging and placing portlets on major sites can be a very time consuming effort. As the site structure grows, the navigation load time can increase dramatically. This is a problem web content management systems experienced years ago, but most have solved today. If you add a new menu item or rearrange the navigation you might be forced to place the portlets from scratch again. Most portal interfaces were far from designed for business users but instead IT staff. In many systems, flexiblility also means complexity. Many CMS admistration interfaces are so cryptic that they must be deciphered by a technical user in order to configure.

How Can PortalApp.NET Overcome These Weaknesses

Cost has always been a strong point of PortalApp which delivers unbeatable versatility and value when compared to other CMS solutions. The fact the PortalApp's license cost is structured per site and not per user is an added benefit. Existing customers have often commented that the price point is so affordable that it is misleading to the product's actual potential. Formost, PortalApp is a versatile "out-of-the-box" solution that is ready to accomodate 90% of common Web requirements. This means instant deployment of a content managed Website, portal or intranet. Subsequently, PortalApp can be extensively configured and customized (both design and functionality) with minimal technical expertise. By distinguishing these 2 separate tasks the ease-of-use becomes more apparent.

10.04.2005

Is Corporate Blogging the Killer App of 2006?

Blogs have become a staple for business communication. With staff blogs on Websites being made available for public consumption, customers get insight into the people and culture of the company they may be buying into. Corporate blogs also provide customers and partners with an opportunity to provide feedback. Wether you're a business principal, partner or customer, I am interested in hearing your stories about how a business blog has changed your perspective on busuiness communication.

Primary Reasons for Starting a Corporate Blog

- Community building
- Thought leadership / idea provocation
- Communicate with customers
- Marketing / sales driving
- SEO / Improve search engine rank

Key Benefits of Corporate Blogging

- Increased credibility
- Increased sales leads
- Improved communication with audience
- Increased communication on casual / personal level


Key Risk Factors of Corporate Blogging

- Negative PR
- Cost / Man hours
- Legal Liability

,

7.25.2005

Core CMS Features

What makes a CMS a CMS? What features should a content management system have? Is a CMS a subset of other common knowledge management systems -- or does the CMS contains theses sub systems?

Core considerations for a CMS:

Content Management - Document management and related workflow

Content Creation (authoring) - Web based forms for content entry. Easy-to-use UI for editing (WYSIWYG editor)

Content Delivery - Separation of content from presentation. Publishing.

RSCM = Really Simple Content Management

While 2005 is marked as the year where RSS came of age, 2006 will mark the dawn of RSCM (Really Simple Content Management) -- a new protocol for the standardization of content management. By using an XML based structure CM vendors, content providers and publishers will improve productivity and knowledge management.

The RSCM protocol is a common language spoken by systems that handle content management data, such as news, articles, lists and other standard Website data.. A common language enables computers like the one on your desk to receive information from many different content management systems without being specially "trained" to understand the information from each.

Standards like RSCM exist in many different fields. Sometimes, the standard simply adopts one of many pre-existing languages that everyone agrees to use. For example, air traffic controllers at international airports all speak English, no matter what their native language, so pilots are guaranteed that they need learn only one language to fly anywhere in the world.

RSCM, like many XML standards, is a language that was built for a specific purpose, but the goal is the same: to have all computers that deal with content management, workflow, so that you can use the same desktop computer program with any CM that has adopted RSCM.

For software developers and for providers of CM applications, RSCM means having to write programs to use only one language, the common language of RSCM, in order to work with many different CM systems. This means lower costs, more products, more competition among vendors, and faster implementations of new systems.

7.12.2005

A CMS that Supports "Ad-hoc" Data

I am discovering that with all of the CMS products that are now available, the good majority do not support Ad-hoc data (A.K.A "metadata").

When it comes to standard "content" fields such as "Title", "Description", "Author", "Date" most CMS tools have a means to publish and search on these fields. This of course also makes sense when it comes to the standards for syndication -- RSS, ATOM, etc..

But what happens when other industry specific data needs to go into your CMS? While there are endless scenarios that can be applied -- consider the Real Estate Industry. Realtors (NAR) are now formulating the industry standard RETS (Real Estate Transaction Standard) specification. This is an XML-based protocol that will define common fields for real estate listings and transactions.

Ideally, for a CMS to assist with the support of RETS, it would require a means for CMS administrators to "add-on" some of the RETS fields:
"Bedrooms", "Bathrooms", "Acres", "Rental", "W/D", etc..

So now when a content item (page) gets created, we can apply our custom real estate data to our standard CMS data.

"Title"
"Description"
"Location"
"Bedrooms"
"Bathrooms"
etc...

PortalApp does support this "ad-hoc" data, which means it can be used to publish or index any content fields as defined by the CMS's adminstrator. This means that "content" can literally be anything from a "news article" to "real estate listing" to "classified ad" to "tech note".

For example, here is how you create an article with PortalApp:
http://www.portalapp.net/content.asp?contenttype=Article

AND, here is how you create a real estate listing with PortalApp:
http://www.portalapp.net/content.asp?contenttype=Real%20Estate

(Login using Admin, Admin if you want to try it yourself)

Let me know when you find another CMS that will allow you to create custom (ad-hoc, metadata) fields to accomodate industry specific data.

, ,

6.28.2005

BPM and Content Management

Business Process Management (BPM) has become the new buzz-o-nym to remind all of us CM vendors that "content management" is a process -- not a technology.

Companies need technology -- and they also need flexibility. Flexibility to accomodate their industry, their content and their process. Many CMS's dictate the business process, and I think this is where many CM systems fail. Businesses need content management systems that can adapt industry specific metadata and business logic.

Instead of engineering the "content management" process in one fell swoop, and then cementing a workflow model into code, CMS vendors should design processes that can be changed on the fly and software that's flexible enough to support those changes.

, , ,

6.23.2005

RSS and CMS Workflow?

Hhhmmmm. After visting CMSWatch the other day, I discovered this posting about using RSS feeds to manage content workflow.

While I think a good CMS will support RSS/XML aggregation and publishing of content, it seems a little overkill to push/pull pending content to RSS (for that matter any other XML format) when an adequate CMS administration system should provide the means to notify content approvers of pending content... whether it be email or secured Web. What is the point of pushing it to RSS? What about the security implications? In the end, the CMS should manage the workflow and all aspects -- notification, security, approval, categorization, etc...


, , ,

6.14.2005

Why Does a Small Business Need a CMS?


Since most small business owners are completely satisfied with opening and publishing their Websites with Frontpage or Dreamweaver, I thought it time to consider exactly what would motivate a small business to port their adequate Website over to a content management system (CMS)?

You know it's time to get a Web CMS when...

Reason #1: Your Web content has become "unruly"

    Your site is only as good as it's content, and when your Website become too large with static (.html) pages, the result is pages that become too long (poor readability), out of date and out of context. Links to other internal pages may be inconsistent. In the end, Web users will find it difficult to pinpoint information on the site.


    Since CMS's are designed in a content-centric manner, site navigation, categories and site-mapping logically result. Thus, there is less need for redundant site maintence tasks, and users are able to access and intuitively find information.


Reason #2: You need enhanced or improved functionality

    Another motivating factor for moving to a CMS, is that your site lacks required functionality. You may wish the site could easily be extended with features like security controls, discussion forums, keyword searching, a feedback system or the ability to easily syndicate content to and from other sources (ie; news feeds).


    Since most CMS's are dynamically driven, features like knowledge management (FAQ lists, customer support, CRM, feedback systems, article management, searching, metadata, archiving) and user management (member login, registration, role-based security) are often inclusive to the CMS features. Some content management systems even offer extended features for collaboration (forums, calendar) and e-commerce (shopping carts, payment gateway) initiatives.


Reason #3: You want the experts to publish their own content


    Website content doesn't get updated effectively when their are administrative bottlenecks. Often, the person that understands A, doesn't know about B, but knowledge of A and B may be required to get content up-to-date on the site.


    Web Content management systems can eliminate the bottlenecks associated with delivery, formatting, and editing of site's content. Content authors, editors, and Web administrators can all "work" on the site instead of waiting for each other.


Reason #4: You want to more frequently update the site -- anytime, anywhere


    Many sites go without basic content updates because there are too many technical obstacles along the way. You may find your content is ready for the site, but the site is not ready for your content. There may be issues with FTP access or scheduling that prevent you from updating the site on a consistent basis. For businesses that have a remote or distributed staff, the site is not updated because the Web authoring software (Frontpage, Dreamweaver, FTP, etc..) is not convenient or accessible. Simple updates to static sites are often time consuming and tedious, so the site goes without updates.


    A good CMS will simplify the time and procedure required to post a content update. Rather than having to know HTML code, or duplicate existing pages, a CMS will provide an intuitive means to add and edit content. A CMS will let the content provider (author) easily format content, and define when and where to publish the content on the site. Most Web CMS tools provide Web-based tools to manage and update the site. This makes secure site updates possible without the use of desktop Web authoring and FTP software.


Reason #5: You need more consistent templating or navigation


    Another obstacle to Website management can be the site's structure or user interface (UI). There may be multiple menus, sections, images or sub-folders that complicate making changes to one area without breaking another.


    Most content management systems separate the "design layer" from the "business logic" layer. This enables you to update site content without creating an entirely new Web page with images, menus and sitewide links. Often CMS navigation (menus) are dynamically driven which means menu labels and related links may get automatically updated when you add new content. Since design and content is separated, future updates to the look-and-feel of the site can be made without having to "redo" or lose all of the content.


Reason #5: You need improved search engine rank (SEO)


    Your site's .html pages may be indexed by Yahoo! and Google, but you want to drive traffic based on specific keywords and phrases that are in line with your marketing objectives. The quality and format of your site's content is critical to optimizing your site's placement in the search engines.


    Many CMS tools focus on SEO and have search engine friendly tricks "built-in". Some of these SEO tricks include, page titles, meta tags (keywords and description), descriptive hyperlinks, permalinks and optimized filenames that are automatically generated from your site's content. By optimizing each page, search engines can more accurately read and index your site, resulting in better search engine placement.



, , ,