CodCifer – Source Code Automator

CodCifer is our new too lthat helps developers in saving a lot of time during the initial software development life cycle.

Current Scenario

Whenever a new project comes in, the main goal for any company is to ensure it is started as soon as possible, and at the bare minimum costs.

There are companies that had their own tool to kickstart a project. Several companies usually keep their own set of codebase to start off with their new project. This is a cool way, and we were able to really surprise our clients with the speed at which we used to start our project.

We prepared dummies, and codebase and several such tools to kickstart as well as to ensure we are able to develop faster, and our concentratin was also on an easier future maintenance.

Was  such mechanism really fool-proof?

As time goes on, these codebase we regularly use should also be maintained, and upgraded as with the new technology changes.

The frameworks we use gets upgraded, there are various frameworks in use at the server-side for Back-End Programming, and too many HTML, CSS and JavaScript for the Front-end programming and Frontend rendering.

For several major companies such maintenance used to come with huge cost factor involved. On the other hand, time factor. Not everyone was able to find enough time to maintain their own codebase.

So, Start From Scratch

Whenever a client asked for a new project, and if the client insisted on using the latest version of the frameworks, one had to start from scratch. This time, Clients are again surprised about the huge time it took, and the usual default stuff that should be there, was  just missing. Validations not happening, or the Cool URL re-writing is being missed, and several other things would have been forgotten, or was just not feasible enough to start!

Even a well organized company had to start a project from scratch, and had to go through several such hurdles.

Migration issues

We had similar issues when we migrated from TYPO3 3.x to 4.x, then Migrating TYPO3 from 4.x to 6 LTS, and now we have similar issues when migrating TYPO3 from 6 LTS to 7 LTS or 8 LTS or 9 LTS, this is an altogether new dilemma.

The migration is not an easy task, the time and cost factors involved are huge, not every client would like to bear it.

Source Code Generators

The art of source code generation is not something new. There are several companies that had their ER diagram, and UML generation software products built with source code generation for various programming languages. One could even have their own template.

Even TYPO3 came with source code generators such as Extension-Builder, and Kick-Starter.

Many programming languages even come with their own source code generators to create basic code for CRUD. Most such source code generators are not easy, and re-usability is not always possible. Finally, the end code produced needs to be manually migrated to the modern frontend rendering frameworks.

The Spark

I needed to start a project faster, and ensure that I am always on par with the latest trends. The quality should always be consistent. If a client wants to upgrade, there had to be an easier way, and migration to a complete new technology should also be easier. Time is money, it is a major hurdle for everyone, no one wants to waste time unless it is inevitable.

These are what sparked me to think of CodCifer. Initially I thought to make it as a replacement for the Extension-Builder for TYPO3 alone. But I found similar issues all around, so I planned on a product that works for all.

CodCifer is not just a plain source code generator. But the way it works, and helps makes it one of the strongest around. There are several ways the services of CodCifer can be utilized.

I will try to explain CodCifer further in my upcoming blog articles and Youtube videos.

Please subscribe to our Youtube channel to keep yourself updated on Codcifer.

This is a tool meant for the developers to save time and money. On a long run, our motto is to take it towards open-source.

Call TYPO3 plugin from typeNum

For example, If our plugin is intended to generate some xml sitemaps and we want to call that plugin like this http://www.mysite.com/?type=1234, We can follow the following steps.

1. In extension setup add the following typoscript

plugin.tx_myext {}
#After this

myext = PAGE
myext {
typeNum = 1234
10 = USER_INT
10 {
userFunc = tx_extbase_core_bootstrap->run
pluginName = MypluginName
extensionName = myExtName
controller = MyControllerName
action = actionName
}
config {
doctype = xhtml_basic
xhtml_cleaning = all
disableAllHeaderCode = 1
additionalHeaders = Content-type:text/xml
xhtml_cleaning = 0
admPanel = 0
debug = 0
}
}

Now, install the extension and if we call http://www.mysite.com/?type=1234, we can see direct xml structure, if everything is correctly written in the extension.