In demand


Tuesday, December 22, 2015

The Number one reason for Gun Control in the U.S. -- people

Some say there is not one single answer to explain why gun violence occurs in office settings. In high-risk occupations and locations, the business is usually the target and an employee becomes victimized during the commission of a criminal act. In the office setting the targets are co-employees and supervisors irregardless of the nature of the business.

Even though workplace homicides in business offices only represent a small percentage of the total, it is disconcerting that we can no longer feel safe in an otherwise safe setting. What makes workers go on a rampage and start shooting fellow workers is too complex an issue for this single web page. However, most experts agree that the rage associated with the desire to kill fellow workers was probably detectable before the incident and was not adequately addressed either at home or on the job. But no expert will ever look to the simplest of answers which is, availability. People use whatever is available to them at the moment without knowing when that moment will happen.

While experts agree that there are "triggers" in the workplace that sometimes will seemingly push the unstable person over the edge. How a company handles the triggering event can make a difference in the escalation of a potentially violent situation. Common workplace triggers that might instigate violence are terminations, layoffs, bad performance evaluations, and believing they were passed over for promotion. It seems that it is the workplace triggering event that often brings the focus of the aggression against the employer rather than some other target. However, we have seen rampages where family, friends, and co-workers were all targeted as if in one clean sweep.

Now imagine the man in the video with any type of automatic or semi-automatic firearm.

Bit torrent Client: Transmission-Qt for Windows

Transmission is a well known bittorrent client, widely used on Linux and Mac OS X, and with a well deserved good reputation as being a simple and light-weight set of programs. By set we mean that Transmission includes several different programs. that are common for many bit torrent clients. Included a daemon its tools and its Web client, a CLI application, an application for Mac OS X, a GTK application, and a Qt application. Except for the Mac OS X application, there are no binary distributions from the project. Each Linux distribution makes binaries available using their usual distribution methods. For Windows there were no distributions until now. What is not included is a series of installation questions designed to trick you into installing adware, toolbars and web browser homepages on you windows system.

Finding the Best PHP Hosting Available

In a previous post about PHP and how which verison that is used by a hosting company is the best judge of the quality of that hosting service.  I challenged the community to gather and use PHP versioning as a new metric for a points review system. To record and update the versions used by known hosting services.  Well it looks like Phil Sturgeon and a community of others can say "Challenge accepted!!"

5 Reasons that Learning Erlang is Hard

Why isn't Erlang more popular? The Erlang community is the last place with insight into why Erlang is not popular. Even with it's use by big names like Facebook and WhatsApp  Erlang remains a mystery to the greater percentage of web developers and programmers. Let's take a look at five good reasons for this mystery. Reasons that do not involve language syntax and functional programming.

Erlang is a great solution to many of the ailments of the internet. Note that I say Erlang is a great solution and not a great language. To become a great language the Erlang Community will have to embrace some things that it is not willing to do or is incapable of showing. The following is a list of the things that are strong in other language communities but are weak and missing for Erlang. If you are a devout part of the Erlang community please don't read this as what I am about to say can be considered flamebait ( inflammatory ). I hope though that it is taken more as constructive criticism. But it is necessary to show that the reason learning Erlang is hard is the fault of the community and not the language.

PHP7 Count Down to Final: RC 4

The PHP development team announces the immediate availability of PHP 7.0.0 RC 4. This is the ninth pre-release of the new PHP 7 major series. All users of PHP are encouraged to test this version carefully, and report any bugs and incompatibilities in the bug tracking system.

PHP 7.0.0 RC 4 contains fixes for 22 reported bugs and over 100 commits with various improvements. The next scheduled  releases until a final and possibly production ready release.

Why and Where PHP Programmers Can Learn More about C and C++

In a previous post about  PHP and how much there is to learn about it beyond its typical uses. I talk about how to extend PHP with libraries written in C Language. As part of that talk the PHP-CPP framework is mentioned as a solution for simplifying development of PHP extensions in C++. But where is a PHP programmer to learn enough C++ to be dangerous?

How to Use Zend Framework 2 Forms in Another Script

I have been going back and forth on Zend Framework 2. First it helps me by providing some really robust code. The flip side of the coin is ZF2 makes me crazy because it's always explained terribly by classically educated computer scientist. Given that me and much of the PHP community are autodidacts this is a turn-off.

 I always can tell how useful a PHP framework is by trying to do what I learned first in PHP, building a HTML form. But when it came to ZF2  forms the documentation was missing and not one post or tutorial I could find gave a straight forward answer a to how things worked. What was worse no one gave working code for using ZF2 as a library used by another simple PHP script. Trying to get this done simply and without Zends MVC in place seemed to be unattainable. This meant that ZF2 was not something I would use at first thought. That has changed now that I have this code working. This is a complete stand-alone class use of the Zend framework and only needs to be called.

Google Apps Script: How to Front Controller doGet()

Google Apps script standalone is a wonderful tool for the creation of cloud based web applications. But it has a limitation that many beginners to Google Apps consider a shortcoming in its implementation. This limitation is the that a web app can have only a two points of entry from a web browser.  These entries are the request types of GET and POST which are hard coded to the doGet() and doPost() functions of each web app.

In this short beginners tutorial you will see that Google has not limited you but actually helped you decide on using one of most common design patterns for web applications on the internet.

Do You Really Know PHP? Think Again

Many developers believe that they know PHP inside and out.  The truth is they know it outside.  Not many really know about the insides and how to use them.

Surpassing it's simple roots today's PHP is  now offering a well-defined and documented way for writing custom extensions in C language.  Extensions are the surest way for improving execution speed, securing valued intellectual property and guarding  a market advantage.  Extending the PHP language itself via compiled language libraries is the future of using PHP in business sensitive situations. Using extensions make PHP a true competitor that can meet the challenges of software development for the web.

How to Install PHP7 on Linux Today!

The PHP development team announces the immediate availability of PHP 7.0.0 RC 3. This is the eighth pre-release of the new PHP 7 major series. All users of PHP are encouraged to test this version carefully, and report any bugs and incompatibilities in the bug tracking system. Many are waiting for php7 to appear on launchpad or in a experimental repo. But you can install PHP7 release candidates today and get started with developing with it.

Here are the instructions and resources for creating a development for you r local machine , VPS or virtual machine. 

Erlang: Where to Find it and Download for Install

Erlang is a general-purpose, concurrent, garbage-collected programming language and runtime system. The Erlang programming language is used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance.

One of the failings of adoption of Erlang has been the general availability of pre-complied binaries for easy installation. This shortcoming has been fixed by one the leading community members, Erlang Solutions.  The lack of easy installation across different operating systems has always been a barrier for growing the Erlang community. Not many are ready to do the time consuming and possibly problematic job of compiling from source code.

A Programmer's Comparison of CMS: Multi-site

In the last segment of this comparison we looked at configuration. We continue in configuration on to multi-site. Multi-site is the use a single installation to power a network or hub of  websites.

A reminder of the points the comparison will cover  while going through the article series. It will be a guide for developer's going from installation to the creation of  "Hello World" extensions  for the top three CMS systems and compare them to the Content Connection Kit.

Blogger Templates: How to use modulo

Blogger is a free blog publishing service from Google that allows multi-user blogs. The blogger template system is in XML format/language. If you want to edit or create a blogger template then you you have to learn HTML, CSS and XML and some basics of JavaScript. One of those basics is the use of the modulo operator in a loop.

Mod or modulo just means you take the remainder after performing the division. Since 4 goes into 2 zero times, you end up with a remainder of 2. It is used in programming as the operator %.
Using % will be best described by an example code. It may be useful when you want to do something for every N-th loop.

JavaScript: Looping through Objects

Most API deliver responses in the form of objects and arrays of objects in jSON/JSONP format. Many times useful the data must be iterated over. The following three code snippets are for looping through objects. Though the output is the same there are differences in syntax.

The performance characteristics of the options  can be tested at  jsPerf provides an easy way to create and share test cases, comparing the performance of different JavaScript snippets by running benchmarks.

JavaScript: Converting CSV to Array

Google Apps Script is a scripting language based on JavaScript that lets you do new and cool things with Google Apps like Docs, Sheets, and Forms.

Although there is  jquery loaded in the javascript.html file for use in the UI. Ignoring it gives a new reasons for learning javascript as a language. Here are some functions and snippets that are good to have for data manipulation and string handling. You could probably find them by doing a search but having them here means that search will have more hits.

This function is a nice tool because when data is being imported and exported  for use in different programs CSV, comma separated values, files are the common handler.  But once you have the data then you need a program language data type. Arrays have proven to be the most useful data type in the handling of stringified information.

How does Upgrading PHP Solve Security Issues?

PHP is a popular language and has been more accepted than any other as the platform of choice for the web. PHP has evolved that it is now the runtime environment backing many of the world’s highest traffic web sites and largest open source projects such as Drupal, Magento and Wordpress.

But as dependant these businesses are on PHP,  they constantly resist adoption of newer versions. They see adoption and change as a risk to losing their market share and end-user trust. It is a struggle leading to a history making security threat to today's web.

A Programmer's Comparison of CMS: Configuration

A good web developer must be knowledgeable to be able to make use of all the techniques and technologies available. Not to mention work along side an increasingly pedantic group of web designers and front-end developers. The tools they use must be able to ensure project deliveries with a minimum investment of time and effort. Several content management systems have gained a considerable following thanks to their ability to satisfy this need. But what do they look like on the inside? How do they compare to the others if you strip away the slick graphics and look at the code? This series will compare the top three and one unknown CMS from a programmer's view point.

Best Practices for Catching Fatal Errors in PHP

Undeniably the most frustating thing about PHP as a language has to be it's handling of fatal errors. It's next to impossible in PHP to catch a fatal error before it reaches the browser window. Worse  is that a fatal error will not invoke any error handler set by set_error_handler() and will just stop all script execution.

There has to be a posts  numbering in the hundreds of thousands all across the internet.  PHP developers desparate to avoid fatal errors and catch them as  exceptions. Doing a Google Search : "php how to catch fatal error" reveals About 460,000 results. The release of PHP7 will reduce this significantly.

The Best of PHP.NET - How to Reverse print_r()

The  PHP  manual  at PHP.NET  is  the best  place for a to learn but it's big site and finding those pearls of coding wisdom in the comments is  difficult. So here are some of those simple solutions for common problems from beginners and experts alike.

print_r() displays information about a variable in a way that's readable by humans. But what if the output is written to a text file though. How do you go about retrieving it as usable PHP code?

The Worst of Stackoverflow - When to use PHP Traits

I put this post under the heading of " the worst of stackoverflow" because though the question did not orginate at It does illustrate  what goes wrong when a Q&A only forum or social networking website is used as a tutorial platform.

In the facebook PHP group the question was  asked. Using Facebook to ask this question is a demonstration of how social media websites are not the right venue for learning. As bad as StackExchange  is, it is  still a number of levels above the  use of Facebook, Linkedin and Twitter as learning platforms.

Open Source Zombies Take Over the World!

The world of open source  software has been taken over by Zombies.  Old PHP versions is the virus infecting patient zero for the zombie outbreak.  This is might not be post-apocalyptic nonsense but the reality of today's web. A coding horror that  Jeff Atwood has yet to discover is the infectious nature of backwards-compatibility. Open source for web development is never re-factored enough to eliminate the use of end of life versions of PHP.

When a project hits a certain point in its life cycle, the unpleasant issue of backward compatibility begins to rear its ugly head. All of a sudden the changes introduced in a new release of the software have a dark side to them. They hold hidden possibilities that will break something one of your users depends on. This is true in both open and closed source projects, but in the open source world it seems that the community spends less time worrying about it than in the closed source world.

Why Popular Online Communities are Gated

Online communities are almost exactly like real life communities in psychology and governance. There are different types of neighborhoods like walled gardens, open and gated communities. So what is a gated community? Gated online communities are those that have implemented security or codes of conduct that restrict the freedoms of it membership.

Sometimes what was once thought to be a forum  for the freedom of expression becomes a prison for content makers. Indicators
 for sweeping changes in preparation to protect a websites online reputation  or brand are some or more of the following.

The Worst of Stackoverflow - question/14914955 is a  site that  tries to  help developers and programmers. Unfortunately it fails miserably at the task due to restrictions over moderation. It also is based on a model that  does not help or teach  new comers  and it  bores  advanced developers to death.  This is a chronicle of some of the websites most glaring problems.

This is a good question and an absolutely correct answer. The problem is that it requires knowledge that the asking party does not possess. Teaching  them  requires a entirely different  information exchange  format.  One that stackoverflow does not support.  The fact that the asking party looked around supports this as they would have had much better information and might have been able to accomplish something had  the answering person  been  able to use  "I created a tutorial for you at my blog".

The worst of stackoverflow - question/1732348 is a  site that  tries to  help developers and programmers. Unfortunately it frequently fails miserably at the task due to restrictions over moderation. Sometime the model is just a poor fit that does not help or teach  new comers  and it  bores  advanced developers to death.  This is a chronicle of some of the websites most glaring problems.
It's interesting to watch the train wreck in slow motion so I'll post some of the worst  of  Questions with Answers that are so obvious and could be better answered through a good tutorial on a blog.  Also questions that get answered even though they have been over moderated.

This one made me giggle even though there was nothing particularly wrong with the question or answer. The reactionary result was typical.  This goes down as my favorite example of what is wrong with the reputation system. Just the sheer number of answers is a laugh.

Developers Digest - Wednesday, September 2, 2015

Daily Collected Quality links of interesting topics for web developers. Google doesn't read or understand the topics. I do and I list the ones that count the most by interesting content not just keywords. If you are tired of draconian moderators and have lots to say about the web developement or the internet in general. Drop me a line at twitter and I'll read it and post it up for others here. I will endeavour to have at least three lists weekly. Hopefully this will make the internet a less boring place where news and information has been reduced to 140 characters and silly images.

The worst of stackoverflow - question/32352587 is a  site that  tries to  help developers and programmers. Unfortunately it frequently fails miserably at the task due to restrictions over moderation. Sometime the model is just a poor fit that does not help or teach  new comers  and it  bores  advanced developers to death.  This is a chronicle of some of the websites most glaring problems.

A letter to

This is a letter from me to concerning their apparent blocking of this blog content as being spam. I am hoping to get response to it. Before using the it and the current situation as material for future blog posts about and online communities in general. is an online community and collection of resources for technology professionals. We believe that each and every person can make a difference...and we are here to help.

Is the Internet of Things Really a Thing?

Many developers want to get started  with IoT, the "Internet of Things" development even at this early stage. Today it is mostly hype for consumer goods and a limited ecosystem. Even so developers can learn a lot from dabbling in the technology that is available on the market today. They can build small start-ups in a growing market niche.  But before going into "how to" for reality I will  get on my soap box and go into "why not" the hype as warning for those that think that IoT will be a panacea where machines automate thousands of mundane tasks we do in our everyday lives.

Developers Digest - Wednesday, August 26, 2015

Daily Collected  Quality links  of interesting topics for web developers.  Google doesn't read or understand the topics. I do and I list the ones that  count the most by interesting content not just keywords.

If  you are tired of  draconian moderators and have lots to say about the web developement or the internet in general. Drop me a line at twitter and I'll read it and post it up for others here. I  will endeavour to  have at least three lists weekly.

Hopefully this will make the internet a less boring place where news and information has been reduced to 140 characters and silly images.

10 Signs of Horrible Open Source Projects

Drinking the Bitter Kool-Aid 

Many believe that being able to use open source over  commercial  software open source is like a sweet, cool and refreshing drink on a hot summer day. But what happens when the drink being served is warm kool-aid and it's taste is  harsh and bitter?

Open source is a method of software development that tries to promote transparency and collaboration.
But much like American politics money has ruined many of those tenants. So nowadays open source is not as open as the name implies.

4 Things Developers Don't know about Microsoft

Over the last five years Microsoft has been trying hard to build a good reputation as an open source supporter. They have also had a number of successes in the open source community that go unnoticed or are deliberately ignored by developers.

Before you have that knee jerk reaction or blurt out open source forever!  Hold your opinion and read to the end this list of things you probably are unaware of about Microsoft and what's changed in the last years.

Is Windows 10 Reading your mind?

Microsoft  admits they will use Windows 10 to collect all the data made available to better target ads, personalize the operating system, and improve its software and services. It will be doing this through the almost thirty points of contact available within any device using it.

Big  data is the big question  and what is Microsoft  going to do with it? While advertising  is quick go to answer for the public. One has to think that a corporation with the power and resources of  Microsoft has something else in mind.

How JS and CSS Frameworks Ruin the Web

Dušan Lukic is his blog gives some very valid arguments on how the web is being ruined by the use of CSS frameworks like Bootstrap and  the popularity of  Angular.js and similar javascript frameworks.

He goes on to show how frameworks have become such an integral part of easy website building that many are learning the framework only. The result being that they are not aware of the problems that they can cause.

Using PHP to Measure Shared Web Hosting Quality

The web hosting industry has some strange ideas about what is good for their customers and their bottom line. It makes you think, "do they really care?".  Wouldn't it be great to have an established  and reliable method of  ensuring web hosting companies hold a high standard of service and security?  In this post let's look at why PHP could and should be used as the top metric for determining the quality of a web host.

4 ways to Post information without a Form

Many times you want to send a POST request to a URL without using a form. This is becoming more common in web development because of the increased use and popularity of API's and webservices. For security and simplicity most systems allow only post headers in a request. While you could send a form with only hidden elements this is not a flexible solution and brings with it some unneeded complexities. An easier way is to just tell the browser to use the POST header to send data when opening a URL.  These examples are in PHP and javascript which are the most popular web scripting languages.

Non-programmers Guide to How Frameworks Work

figure 1.
How does a content management system like Drupal or Wordpress work? Why are PHP frameworks like Laravel so popular?

After reading this you will understand  the inner workings of most PHP Frameworks, and  content management systems like Wordpress or Drupal. You'll do this without having to be a programmer or know any programming. As a matter of fact you'll be able to explain to actual programmers how they work in the real world.

PHP7 is a winner but the Internet Loses

There is lots of  talk about the coming PHP 7 release. The item most talked about is the performance benchmarks of existing code. No one is talking about the zero sum game being played between PHP performance improvements and lack of them in open source PHP projects.  Yes, a good part of the internet will be able to take advantage of the performance increases brought with PHP7. But  this is more than offset by code bloat, weak software architecture and decreasing performance of popular frameworks.

Zen of PHP better than the Right Way

The  majority of well known PHP programmers and  open source projects seek to make their PHP scripts become the only tool needed to create web applications. They group together a  following  for tools like Composer and  push usages of rules like PSR . They call it "PHP the Right Way". Honestly it would be hard to come up with a more misleading name.

Rise of the Food Machines

Just as they did with the automobile industry automation and robots are changing the 700 billion dollar food services industry. The internet of things is probably in the news more but it is still decades away. What's happening today in the life of every one is a graceful  return to automation replacing unskilled labor and distribution in the restaurant and food services industry. Just recently the Mc Donald' Restaurant chain has come in to the spotlight for it's attempted replacement of minimum wage counter workers with  sophisticated automation.

10 Reasons not to hire a Rockstar Programmer

There is this constant search for  "Rockstar" developers.  Maybe it's just a myth based in trendy wordplay  but  what would happen if  they are out there and you manage to hire one for your project?  

Bosses and Recruiters make them out to be the ultimate heroes. But what are they really? Do you want one in your project team or on the company payroll? Lot's of caution should be taken when making the comparison of rock stars to developers. Because people forget what rock stars do in the real world.  Let's take Rolling Stones The 10 Most Annoying Rock Star Behaviors and translate them

5 Things Your CMS is Missing

There are some important things missing from  the CMS running  your website. Missing features that will break your budget with future development costs.

You will find many of the most wanted developer  features found in the top content management systems in CCK.  But here are some features that you can only  find in CCK and no other PHP content management framework  in open source or commercial.

A Minimalist's View of Open Source CMS Software

When something is simple, it’s possible to understand it in fullness. When you understand something, you can trust it. Simplicity comes with trying to do less of everything less is often better. In mathematics, physics, and arts, simplifying and shedding every bit of complexity and redundancy have produced remarkable results. It leads to abstraction, elevates expressiveness, and reveals patterns that are otherwise buried in details.

Separate Content, Presentation and Business logic

I have seen some absolutely terrible and incorrect explanations of  web application layer separation. Most of them are illogical and filled with mixed ideas due to semantics and trendy terminology used by "gurus".  Many are propagated by lack of  knowledge and understanding of PHP, the most popular server-side language for the web today.  The design and architecture of open source content management systems is also responsible since they are how many get their start in web development.

Drupal vs. Wordpress: Time for a CMS Disrupt

To understand the state of the open source CMS market and it's imminent disruption.  It's necessary to be deprogrammed  from over a decade of marketing magic and an organized belief system pushed by open source communities. To do this it is necessary to have an open dialog. This in itself is difficult to do with those that have become a part of systems that are designed to obfuscate. Many of the harsh realities that need and should be discussed are covered  up by the communities members.

It is only after leaving the communities that one can be truly objective. In this short dialogue there is a blue pill situation.

CCK vs. Drupal and Wordpress: A Tale of Scalability

This a tale about how CCK came into being  and why it's unique database design uses database partitioning or sharding support for scalability. Sharding has become the go to solution for scalability and is used at  InstagramFlickr and Freshdesk. But I started using it long ago when the web was not so big and scalability was not a problem.

CCK vs. Drupal and Wordpress: Community vs. Commonality

One of the more common  questions posed by those looking for a website builder or CMS platform is "How is the community?" is it big? friendly? knowledgeble?.  I am countering the hunt for community with something that is more powerful and widespread, commonality.

The future of content management

The future of  content management  is not in  monolithic full stack systems and frameworks. Many talk about the enterprise readiness of their code but not many talk about the implications of using enterprise level code and it's effect on you and your company. The future of content management is for software to have as low a cost impact that can be attained by  following these guidelines.

Content Connection Kit Installation Guide

This guide comes from the CCK readme.txt file.


     content types
     field types
     default responsive design
     example microblog
     example portfolio


   PHP version 5.4 or above.
   SQLite3 enabled
   JSON enabled
   PDO enabled

After meeting the requirements.

1. Create an instance by placing the archive contents in a directory or the root directory on the web server.
2. configure the instance 


    Go to the directory "_configuration" find the default directory and copy it. Rename the copy
   with the domain name ex. []

   Find the file and change the following line to match your domain or sub-domain

   $settings['system']['base_url']['value'] = "";

   Once this has been set you can continue to do the configuration manually or web browse to
   Tip: If you are going to develop on a local PC then create a configuration copy for the local web server.




Coming Soon:

Web forms.

CCK vs. Wordpress and Drupal: Custom fields

Adding fields to a content type in CCK is easy.  To do the same thing in  Drupal or Wordpress is complicated and doing  so makes the developer wonder if they are doing the right thing.  This is because Drupal and Wordpress are mixing  content, data types, database entry and  HTML forms.


With Wordpress there is confusion as to what is a content field and what is meta-data for the content.  The fields when added do not perpetuate through to all posts using a particular post type. There is a required amount of programming.
WordPress has the ability to allow post authors to assign custom fields to a post. This arbitrary extra information is known as meta-data. This meta-data can include bits of information such as:
  • Mood: Happy
  • Currently Reading: Cinderella
  • Listening To: Rock Around the Clock
  • Weather: Hot and humid
With some extra coding, it is possible to achieve more complex actions, such as using the metadata to store an expiration date for a post.
Meta-data is handled with key/value pairs. The key is the name of the meta-data element. The value is the information that will appear in the meta-data list on each individual post that the information is associated with.
 Wordpress Documentation


Adding fields to Drupal looks easy until the user wants to choose the type of field to be added. Then there is confusion as the system conflates content, database field types, php data types and html form fields in it's UI data storage and documentation.  No one ever explained to Drupals developers that files are files and characters are characters. The content type fields UI is not supposed to control and manipulate what is being stored  like a database client. The differences between files and images is something for the presentation layer. Number formats do not need to be filtered into the database. Numbers are formatted on retrieval.  Shit! there is just so much wrong with the data structure, system architecture and thinking that it would take years to sort out. The situation becomes even more unbearable when the documentation starts using words like "entities". Many of the nearly 30 HTML5 fields are not available or are only available through third party modules.
  1. Navigate to the Content types page (Administer > Structure > Content types).
  2. In the table, locate the row that contains your content type and click the MANAGE FIELDS link. If you can't find the MANAGE FIELDS link, be sure to enable the Field UI module.

  4. Adding a new field
  5. In the Add new field section, enter a label for the field.
  6. In the Field name field, enter the machine name for the field. You can only use numbers, lower-case letters and the underscore character (_).
  7. In the field type list, select one of the following types:
    short text such as a name (limited to 255 characters)
    Long text
    long, multi-line alphanumeric text such as a biography
    has one of two values (for example: "yes/no" or "true/false" or "small/large")
    List (text)
    select from a list of text options (which can be formatted as either a drop-down list or checkboxes)
    reference to a file (such as a PDF) on the Drupal file system
    reference to an image file such as GIF, JPG, PNG on the Drupal file system
    Term reference
    reference id to an existing Taxonomy Term (or tag)
    a whole number, such as a year (e.g. 2012) or value (e.g. 1, 2, 5, 305); it does not allow decimals.
    a number that can use decimals, such as 0.0123456789
    a number that allows exact decimal values; often used for price or cost (such as $199.99)
    List (float)
    select from a drop-down list of floats
    List (integer)
    select from a drop-down list of integers
    Long text and summary
    same as long text, but with an additional summary text

Drupal Documentation

Content Connection Kit

Once a  content type has been  created in CCK the user may add fields to that content  type which are represented by the almost 30 form elements available to  HTML5. There is a clear separation of  data entry, content and presentation.

 The UI makes is easy to  find and add a field quickly.

Editing a field is just like editing HTML attributes for that form element.

Common end-users of  either Drupal or Wordpress are ignorant of their failings and will remain so. But  web programmers, developers and software engineers should be acutely aware of why they should avoid these CMS's.

Take a look at the CCK demo to see first hand just how simple the system is in comparison. See how on it's own CCK is just better than Drupal  or Wordpress  and why you should be using the Content Connection Kit  for your next web project.

Content Connection Kit is Beta ready and steady

Only a  day  behind the set  schedule  CCK is now beta!  There will be a  purchasable release in a few days. A special introductory price will available to all interested in getting in on the ground floor before next month.  Content Connection Kit  will be sold as subscription  download. First subscribers will  get a  full year of  updates for under  $50 USD.

Subscribe to the CCK Newsletter to get informed of the opening of the online store for downloads and other information.

API-centric page and data separation for CCK

The Content Connection Kit architecture is such the  pages and data are separate. The developer or site owner can create  content  by  first   setting a  container and it's data as a visual page.  They may then delete the container and leave the data.  This means the data can be accessed via a web service query and presented as json or xml for consumption by others.  The same is true for the forms and fields. A field can set for a  content type for user input.  If the field is later deleted  the developer may leave the data in the system so any query calls to the services API's may access the data.

In other words data is parented to the visual presentation of pages and can be orphaned from it. The content is not contained or linked to a  field, only referenced and is not destroyed when a page presenter is removed.  Data is deleted explicitly not implicitly. This is what makes CCK different from a Content Management system. The architecture is API-centric working like a framework and not totally wrapped in visual entities.

Why Content "Connection" Kit and not "Construction"

Someone made the comment that CCK was a standard acronym for Content Construction Kit. I say this is an narrow, outdated and wrong way of thinking about todays web. Today it's not about building pages and constructing them with user content. Now it's all about the things that connect content like:

  • disconnected  data 
  • API's without presentation
  • web services

This is why I and many others have stopped using CMS's like Drupal  and  Wordpress because while they are great for collecting user content and presenting it as a web page they are terrible at connecting that content to internal and external systems that consume it.  Developers struggle to strip away the layers that are in the way of  modern usage with plug-ins and modules which works to some degree . But ultimately the architecture of the CMS  gets in the way. and  they become overwhelmed by performance issues. The complications and unwanted complexities of trying to decouple monolithic designs and  user automaticity support systems  lurk in the shadows. They wait for any business not matter how small to attempt to do something other than  manage the collection of user content and data.

This is way FHQK Universals  Content Connection Kit is  different from a CMS.  For those that don't know you could say that  it is a core build of  typical CMS ideas and the things I  like:

  • content types, 
  • content fields
  •  forms API
  •  menus 
  • taxonomy systems
  • MVC 
  • OOP Classes as plug-ins
  • built-in documentation system
  • Always on the latest version of PHP
  • PHP and CSS3 and HTML5 only no javascript, not even a bit.
  • Straight to the method design without abstraction or any of the acronyms like DI, ORM blah blah.

Only the tiniest amount of "magic" is used to tie the system together. There are no pages unless the content is connected together to present one. As a matter of  fact CCK works without any content what so ever. The system is not dependent on user input to work.  There's no list of end-user features. But the above list of developer and application builder features is growing.

It's a kit not a framework  micro or otherwise! CCK is not a pile of legos on the floor waiting to be put together as something useful.  CCK  is a  prefabricated architecture for building a web site or  application.

And as always CCK is not vaporware you can see the  implementation of the  ideas at the live development site

Unnecessary Evils: PHP vs YAML for configuration files part two

When I chose PHP over YAML as in the configuration files for the Content Connection Kit. It was a good choice but it came with some bad memories of awful attempts by other projects. Often in CMS'slike Drupal you'll see mixtures of syntax and no real conventions used for formatting the settings file. Too much chaos for me so I set out to do better with CCK and came up with something special.

Print this!