9 questions

1 answer

1 comment

17,030 users

Welcome to Helix SDK Q&A, where you can ask questions and receive answers from other members of the community.

Website Source and SDK Source separated

0 votes

I've updated the source tree to pull the website contents out of the main SDK source.  It's not necessary as part of the SDK and this will help shrink download sizes for anyone pulling down the full SDK source rather than picking up one of the pre-built SDK packages.

Speaking of pre-built SDK packages - no, I don't have those ready yet.  Here's the plan for them:

Inside the source tree there's a series of components that are used to do the "SDK" job, and a series of components that are used to become the application that the SDK will provision and create based on your project definition.  Granted, there's a lot of overlap between these - as the SDK is really just another project built with the same components.  Dogfooding smiley

So when we build the SDK - we'll package up this application, and make it available on the following platforms:

  • Win32 - Native Service
  • Win64 - Native Service
  • Linux32 - RPM or DEB package, or simple .tar.gz file.
  • Linux64 - RPM or DEB package, or simple .tar.gz file.

The SDK itself is built using the C++ version of the server in stand-alone mode, so that there will be no external dependencies.  You won't have to have apache up and running somewhere to get this going.  Just drop it down and run with it.

The SDK application is where you will "provision" your new projects.  By "provision" we mean going through the simple process of defining the application you would like to build.  Here are the things that we will ask you during this process:

  • What is your project name?
  • What is your project namespace prefix?
  • Would you like to use Java, C++, or C# as your server language - which also constrains deployment options.
    • For Java, would you like to deploy as a WAR file to an application Server or as a stand-alone Java server.
    • For C++ would you like to deploy as an Apache module or as a stand-alone native server.
    • For C# would you like to deploy as an IIS Handler or as a stand-alone .Net server.
  • Where would you like your project source files to go.
  • What port would you like your server to listen on - default 7294 (Helix SDK uses 7293)

With this information the SDK application will take the appropriate source code templates, customize them, and create your project directory in the right place with the right settings.  The SDK also knows how to get all of the 3rd party components downloaded and installed on your development machine.  These could include:

  • Current Qooxdoo Framework
  • Current Python runtime (required by Qooxdoo build toolchain)
  • Any development libraries (libxml2, libzlib, libopenssl, etc.) and headers that may be necessary.

Finally, the SDK will create the appropriate project files so that you can work with your new project.  For Java projects, the SDK will create Eclipse .classpath and .project files. For C++ it will create makefiles and a Visual Studio solution setup.  For C# it will create a Visual Studio solution setup.

Once all of this setup is in place, the SDK will run the initial compile of your project to get you up and running.  You will actually use your project to help define itself.  All of the data objects, screen layouts, etc. you will define by using your project's web GUI.  So it's important that the SDK get an initial compile of your project up and running so that you'll be able to work with it.

Beyond that it's up to you to define all of the features and functionality in your project.  Helix provides the infrastructure, you make it a great application cool


Steven M. Cherry


closed with the note: blog-post
asked Jul 26, 2013 by Steven M. Cherry (42,320 points)
closed Aug 6, 2013 by Steven M. Cherry