Nomadic Logo Orange Black tm

Open Source Notations

OpenSource Notations

Using Git and TKLDEV to build your own customized Turnkeylinux (etc) resource set

Learning anything takes some practice.  I have been hoverting around my reentry for a bit now and went in for a landing.  I am going to do my best to build a customized set of builds based upon the Turnkeylinux set of apps, but one which is more flexible and more customizable to my own needs.

Here are some of my process notes.  It seems to be going pretty well.

  1. Sign on to hub.turnkeylinux.com
    1. Set up a Micro Server via the hub to run TKLDEV
  2. Sign on to Github
    1. Go to your https://github.com/turnkeylinux-apps
      1. Choose the Core App
        1. Fork it into your own repository set (this will be suggested by Github)
      2. Choose the TKLDEV App
        1. Fork it into your repository set
      3. Choose someother App you want to work with  (I will do Joomla and Odoo for now)
        1. Fork it (or them separately) into your repository set.
    2. Go to your Repository Root
      1. For each new repository
        1. Make a new "Branch" with some operative name for your work
        2. Option - but recomended
          1. Make the new branch be the "default" branch for you (rather than "master" being default)
  3. Log into your TKLDEV Box via SSH - ie Putty.  Iin my case the TKLDEV generated on hub.turnkeylinux.com)
    1. cd /  (out of /root)
    2. cd turnkey  (1 and 2 together could be "cd /turnkey")
    3. cd products (1 and 2 and 3 together could be "cd /turnkey/products")
    4. Clone each of your repositories (using the -b default_branch_name) to your products directory using a command like the following
      1. git clone https://github.com/your-user-name/your-turnkeyapp-repository -b default_branch_name
      2. cd (from products) to one of the new cloned directories
      3. issue the "make" command
    5. If you want to remove and start over I use the following
      1. rm -rf directory_name
      2. I may have to "restart" the server if I cannot complete because some chroot is running after a "make command"..  After reboot again use the rm -rf directory_name command to clear it.
  4. I am right there now.  I will start working with Git on my personal branches and see what modifications I can run
  5. My specific focus will be on TKLDEV modifications.  
  6. If I want to use those modifications actually "inside" my operating TKLDEV appliance  I will likley need to Link the Code directly - which means this is a Line of my TODO list.
  • Now to BuildTasks
  • Forked https://github.com/turnkeylinux/buildtasks into my repository set -ie https://github.com/my-user-name
    • Created a Branch - my name
    • Made the Branch "Default"
  • Opened GitHub Desktop
  • Cloned https://github.com/my-user-name/buildtasks into my GitHub Desktop
    • copied bt-xen into bt-mine
    • copied /patch/xen/ into /patch/mine  (min is a pseudonym)
    • Made a Commit with Summary and Detail Annotation
    • Pushed the Commit with Summary and Detail Annotation
  • Opened my TKLDEV Machine with PUTTY (SSH)
    • Navigate with
      • cd /turnkey
    • dir (to be sure)
    • rm -rf buildtasks
      • that removed the buildtasks directory so that I can clone my repository
    • git clone https://github.com/my-user-name/buildtasks -b my-branch-name
      • technically the branch part should be covered automatically as I set it as default in github directly, but I try to be safe and specify the branches explicity.

That takes me to where I am now.

I need to start working on my Build Processes next.  Also, quite explicitly, I will need to overtly change the "include" command for buildtasks if I go to make new TKLDEV systems that use my buildtasks.  However, it seems easy enough just to change it manually as I have  just done to my working TKLDEV server.

  • 3 Changes made in Buildtasks (XEN) directory
  • Committed Changes
  • Pushed Changes
  • Went to Putty:  Git Pull  (3 Changes Made)

Lets Test a build

UPDATE:  10/23/2019

The Build process worked well.  I then had to wrangle (again) with network settings inside of my Server Build, but those were not related specifically to the TKLDEV process.

From here I will move the changes I made into my own BT-process and see if I can replicate my results and also get the few more tweaks for my server build integrated as well.

I need to understand a-bit about the Patching process and how it applies to files outside of build tasks  (ie, small changes to the Core build).  I also will need to test various updates from REPOS and TKLBAM to see that I can have my changes from TKLDEV stick.

All for Now.  Very excited about the project.

TKLDEV Setup and Note taking

TKLDEV is the build system for TurnkeyLinux applications.  It is very capable and somewhat easy to work with.

I am wanting to build some more capabilities into TKLDEV and so today I have started again with the process of working with it and shold be able to proceed with modifying it.

To do so,  I installed from the TurnkeyLinux Hub, a TKLDEV Micro instance.  As the name holds, it is a pretty small build.  1 GB ram,  10gb of HD space.  Cost is not low:  About $12 per month, but it can be killed pretty easily and built again.

First Task:

Working through the lack of documentation with TurnkeyLinux.

This can be quite problematic.  However, if you read, and reread, forum entries, look at github documentation, and test and try things, things can work out.

There are several steps required for actually getting BuildTasks to start working.

  1. Get VMWare's OVF Tool working 
    1. Login to VmWare
      • IE: my.vmware.com
    2. Download the tool to your computer
    3. Login via FileZilla to your TKLDEV appliance
      1. Ideally you will have a "downloads" or similar folder for files
        upload your OVF Bundle File to that directory.
    4. In Shell, be sure the file has chroot 755 permissions 
      chmod 755 VMware-ovftool-(VERSION.and.control.name).bundle
    5. Run the install code on your TKLDEV server inside SSH  (use the correct syntax)
      ./VMware-ovftool-(VERSION.and.control.name).bundle
    6. Run the Program
    7. Go through multiple pages of "licensing code"  (Accept All)
      1. accept the Terms at the very bottom of the licensing agreement
    8. Then Create a Config Folder and Copy the Contents as outlined here:  
    9. https://github.com/turnkeylinux-apps/tkldev/blob/master/docs/advanced/optimized-builds.rst
      Configuration & Setup
      • cd buildtasks/
        mkdir config
        cp config.example/* config/.
      • run bin/vm-setup
  1. Interpret the correct Syntax inorder to get various BT-s working
    1. Hint:  actually type "./" where instructed to do so.
    2. ie: "./bt-iso"  or "./bt-vm"

Issues:
Verification of ISO's  (work through this)

Building from TurnKey ISOcd 

Note that if there isn't already a Core ISO and matching hash file in /mnt/isos buildtasks will download it from the TurnKey mirror.

When that's finished, you should find an official Core TurnKey ISO (and matching hash file) in /mnt/isos/ and a Core container build in /mnt/builds/container/

Turnkey Mirrors are sometimes downloaded rather than ISO simply generated  (see note 2 lines above)

Building from your own ISO

cd buildtasks/
./bt-iso new-app


Once that runs, simply run the relevant bt script. Don't forget to install the relevant dependencies.

./bt-vm new-app-14.2-jessie-amd64

ToDo's:

  • Get Git Working
  • Make Variations to build scripts
  • Practice, Practice Practice
  • Get Shortlist of "New App Setup"

 

Turnkey Mirror Links

 

Assorted Links of note:  

 

 

Issues at hand:  

  • Cloning
  • Making New Code
  • Using the new code
  • Integrating into the repository or simply using the repository as a base, but using local changes

Update Note 10-22-2019

  • I have gone through the OVFTOOLS notations above to be clear as to process.
    FKIT has made a good video here:  https://www.youtube.com/watch?v=vseorvzwu-k
  • I have started forking my own repositories and working on new builds.  Doing one for Joomla3 right now.  Forking TKLDEV and Buildtasks and bringing them in to see if they work with few changes.  First MAKE is running now.
  • Did also upgrade my Putty Application to 64BIT and current.
  • Waiting for the build as we speak.  Takes a while on a small server.
  • Once build it is important to look into the /mnt folder for names created, but also to understand the bt-vm command above for the first build.

Multiple Domain Resolution in Joomla

It seems sad to write this at Joomla 3.92 expecting Joomla 4 to change everything, but still, here we go.

Joomla is a fantastic system.  That said, it is a fair bit of work to maintain and there is an attraction to getting one system setup and capable of hosting Multiple Domains on the one Joomla system.

It is pretty easy to have one system show the same information on a variety of domains.  This is done primarily in DNS and pointing correctly.  That said, why do it?  Better to have it resolve to one domain, give one SSL and one set of information.

But with multiple domains you want different SSL,  Different Menu Navigation and Different Content.

The advantage of having it in one system still is that you can generally maintain one system.

The negative is that you have to make sure you don't trip over yourself.  

I have been testing "Virtual Domains" on this system. 

  • I can get different templates to resolve to different host name calls. 
  • I can get different menus to resolve
  • I should be able to get SSL to respond to different Host Name calls in Apache (To Do)
  • Module need to be controlled as well
    • What I find is that the Module needs to not show on "All" first and foremost
    • I can get content from another domain to show in certain calls:  IE WidgetKit can put Accorians in that give a full Category of information.
      • That works until you go click on something like "Read More" when all goes into 404 Page not found land  (should work shouldn't it?)

I have a second system I have tested that is much more complicated called Chameleon.  I will likely test it more but it is a whole bunch to get your head around

Other systems are also out there but lets see about getting Virtual Domains working.

Virtual Domains basically ends up "Filtering" Menus.  As such, in order to have consistent control you want to add all of your Different Domain Menus to the Menu Position.

You can sort them in case you want some menu aspects to show up on multiple Domains.  Generally though only the content for the filtered Domain will show itself.

There are several ways to get at the Menu Assignment and this is in fact an important part of Joomla.  One can work through the Menu Administrative Panel,  Virtual Domains (and Chameleon), as well as through one of my favorite tools,  JSN PowerAdmin

It is important with all of this to have a Checklist, lets call it "1,2,3".  Menu, Content, Filter.  Technically it is also important to say "1,2,3"  for every set of that  as in Main Page, Menu Filter, Publishing SEO" being set for each piece of content  (including this one).

 

Joomla Blog Controls

Controlling the presentation of a Joomla Blog takes a fair bit of testing and finding the system that works best for you.  Today, I was pretty deep into the Joomla system structure trying to make more effective the Virtual Domains system.  Fundamentally it is important to approach the system on The following levels.  Domain,  Menu,  Cateogory and Article.  
To add a domain you need to first create related Menus and Categories to capture related information.  Following this Articles need to be added and made relavent to users.  The deleted section below was discussing how to add "intro text" and "read more" to the articles and this certainly should be refreshed.
Like so many subjects, practice and constancy is important, and I well recognize that I have avoided this "outward orientation" in the past.  Working now to make right.

Don't spend too much time trying to find out how to make the "intro text" a default length in Joomla.  It won't jump out at you.

Joomla Beta on Slack Exhchange brings up the "Read More" marker in Joomla.  Use this if a article is displaying too long.

(Image Needed)

It is worth, however, looking at the Articles Control in Joomla.  Here you can set lots and lots of other standards on your article presentations in Joomla.

A nice alternative presentation we have found in the YooTheme Widget Kits.  Not sure that SEO will easily traverse but sure makes the interface nice.  More study needed.

Magento - Odoo - OCA Connector

This is a very functional system which brings the ability to work the "backend" of Magento by actually building and purchasing items you sell,

  • Functionally you get all of the aspects of Odoo, including CRM, Product Management and more
  • You also get the great E-Commerce capabilities of Magento, and its increditble extensability.

(to do:  more detail)

Fabrik List 1

  • Here we Go

Featured Articles - Accordion

Our service of installing TurnkeyLinux Builds on Linode Cloud - available now

Our service of installing TurnkeyLinux Builds on Linode Cloud - available now

I am pleased to announce the ability and availability to install for customers the latest TurnkeyLinux builds to the Linode cloud as well as custom modifications.

We have worked with TurnkeyLinux web applications for many years and are familiar with their value and flexibility.  Out of the box from TKL (TurnkkeyLinux) can be aquired via ISO and several versions of Virtual Machine as well as the Amazon Cloud install which TurnkeyLinux makes possible.

I have worked with nearly all of these variations and they do work well.  Still,  some 5 years ago now, I found that bringing the builds into the Linode Cloud envirionment gave me much greater possibilities from several points. 

Linode exceeds in value (bang for the buck) that is in Server Performance for the cost.  It also works very well in terms of being in control and able to scale on demand, either up or down, resources that are required..   It is possible to access via a range of ways, do migrations, modifications.   

TurnkeyLinux builds in the Linode Sphere are all the more valuable.  TKL has a great range of backup and migration capabilities, as does Linode, and they can work together.  Moreover, because the TKL platform is generally platform agnostic, it is also possible to migrate away from Linode with ease should you decide to go to a different platform, host your own, or simply stash away an archive of your system.

Read more

Organizing your culled information stream

Organizing your culled information stream

It is tremendously complicated these days keeping track of what you are learning.

As an example,  I am diving into the realm of dropping pre-built Drive Images into Cloud Instances.  I need to keep track of the difference between a bzip2 and tar file, and how to decompress them.  Very nice people have commented their answers in various places.  Answers like:

bzip2 -d filename.bz2

tar cvjf myfile.tar.bz *.txt

Certainly there are many more of these as well.  I likely have 20 Tabs open talking about all the various approaches, but that is not the point now.

The point now is simply, how to "keep track" and if possible, how to perhaps help other people in similar quests.

3 Basic Elements I am finding useful:

  1. Bookmark Organizing

    1. "Bookmark Manager and Viewer" a Chrome Extension is particularly valuable.  It takes a bit to get used to with one or two foibles, but nothing better that I have found.  Use this in conjunction with Chromes Bookmarking (they have the same icon) and spread them out so you know which one you are using.
    2. "Tabs Outliner" also a Chrome Extension lets you explore and tab to your hearts content.  You can close whole windows and keep track of the tabs.  Ideally you will move from here to your actual bookmarks, but with this you can see what you have been searching for, reading up upon and in many ways also reflect on what is important
  2. Durable Checklists
    1. Honestly, I am still looking for the ideal version here, but what I do know is that Outlines go a long way.  Lets go there
  3. Outlines and Outliners
    1. Now discontinued Bonsai is very good.  Very Very Good
    2. Android Outliner is VERY VERY VERY GOOD  (number 1 really except that I work in Bonsai more)
    3. Workflowy is the best web outliner I have found so far

There are others.  They all deserve attention, but the point is not the program but the work.

Nothing is perfect and no integrations, yet, are perfect.  I do also use

  • Simple Mind for Outlining and Mind Mapping . 
  • Odoo to keep track of issues and many other details. 
  • Evernote..  must have
  • Dropbox,  for me anyway, must Have

All are also excellent programs:

Like threads in a spider web though, you need to have your own system of reference to keep them together.  Things are getting better, but, there is still you in the middle.

Getting things done..  a book and a mantra.  The program did not work very well unfortunately (may have had another name - written for PC Tablet computers in about 2005 ?).  It should have worked better.  The concept was incredible.  It just had big, in fact large and untenable, memory leaks.

Read more

Using FileMaker Pro as a Magento Editing Tool

Using FileMaker Pro as a Magento Editing Tool

I have put together today an extensive and effective way to use FileMaker Pro 12 as a content editing tool for Magento.  This has been on my "to do list" for a long time, but after exploring this actively for a few days, I was excited to have it come together in a real and immediately useful way.

The way to do this involves 

Setting up an active ODBC connection to Magento

Building an Empty FileMaker Database.

Importing One field from the Catalog_Product_Entity field.

Building a series of relations to bring forth the critical Data for each the additional information on each field.

The difficulty in this is the exploration in setting it up properly.

Having set it up now for myself and tested it extensively I would be in a position to help other clients set up this method for FileMaker editing.

Advantages

The primary advantage to this approach is the speed with which the Database can be "Selected From" and Reviewed and Updated.

Spell Checking is "built in" to FileMaker and brings to light otherwise hard to see errors.

Read more

Wild landing

Wild landing

Wild Article Landing is a bit like a landing strip for sparrows.  Somewhat incongruous.  That said, there is a place for wings and perhaps this is also one.  Technically it is a landing page looking for a home.

I am reminded of a favorite Poem.

The Sea Battle

An American aircraft carrier
and a Gothic cathedral
simultaneously sank each other
in the middle of the Pacific.
To the last
the young curate played on the organ.
Now aeroplanes and angels hang in the air
and have nowhere to land.

by G√ľnter Grass

This is a holder article

Read more