Items filtered by date: December 2014

I will not descibe how to config every feature in EasyBlog and Komento, however below is a list of the main interaction features I would setup.

These features tend to focus on user interaction and social integration and just because you set all of these features up does not mean you have to use them but makes life easier to turn them on at a later date.

EasyBlog (System)

EasyBlog (Author/User)

Komento

Sort these

I think one of these will belong to facebook ssytem and one to facbook author

 

Published in Blogging
Sunday, 18 February 2018 15:42

Create a blog - part 5 (Conclusions)

Step 19 - Bringing it altogether, what should I use?

Now you have read all my research let’s just review what has been said and then read the final conclusions.

Blogging System

Unless you want to use WordPress as a dedicated blogging system there is only one system you should use for Joomla, Easyblog. Easyblog has additional features such as remote blogging, inbuilt commenting, automatic Twitter and Facebook posting, Team Blogging, configurable URLs and much more rather than just dealing with the content. The beauty is you do not need to start finding additional plugins to do all the basics as you would with Joomla (only) or K2. There are other blogging systems for Joomla but they are paid and even so Easyblog seems to get the most votes and support. I can highly recommend the support, second to none.

My choice: Easyblog

Reasons: Lots of social integrations, configurable URLs and excellent support. Best blogging system for Joomla by far.

Commenting System

Local

If I were going to use a local commenting system I would choose, kommento. I would choose this over Jcomments. Komento it is well supported and has extra features such as automatic comment moderations, technology borrowed from WordPress. It is also made by Stakideas, the same producer as Easyblog. There would be no lag in displaying comments as they are stored in my database.

Remote

There is only one kid on the block for this, Disqus. It is everywhere and you can control comments from multiple sites in one control panel. The downside is the comments are not stored on your website. The comments  are Ajax driven and Google has only really just started indexing them.

My choice: Komento

Reasons: Well designed, allows my to control comments from different areas on my website and the comments are stored locally.

 www or non-www

This is a simple one to answer because I am runing a website with more than a blog on it and it is 2018. but for completeness there is another option if you are runngin a company website giving 2 options

  • http://mydemosite.com/ - This should be used for personal websites or blog websites, but if you prefer www you can still use it.
  • http://www.mydemosite.com/ - If running a company website you should always include the www as it seems to be the accepted standard.

My choice: non-www

Reasons: It is 2018 and QuantumWarp is more personal than corporate.

http or https

Again because it is 2018 and security and privacy is an issue an easy one to answer for all types of website.

My choice: https

Reasons: This is required for good ranking and security.

News or Blog

One thing to consider is whether your blog is a dedicated blog, personal blog, company websitee witha blog.

  1. If you are running a dedicated blog you should have your articles running from the root
  2. If you are running a website with more than a blog I would run it from a subfolder/menu item called ‘blog’
  3. If you are running a company website I would run it from a subfolder/menu item called  ‘news’

My Choice: /blog/

Reasons: QuantumWarp is more personal than corporate and I have other stuff on my website.

URL Slug

The only options I would consider are the following basic structures

  1. Date Based
  2. Article Tiltle Only

Date Based: If you do 5 articles a year why would you need to divide your articles up in too months and days? The answer is you wouldn’t and just using the year would probably be ok. For medium article volume sites using the year and the month seems enough this also seems quite popular online. See my notes from earlier on deciding the segmentation based on article post frequency for more information.

If you move your articles from category to category its URL will not get affected and therefore any link juice pointing to that page or indeed incoming links will not be affected. However if you change the article title it would be.

Article Tiltle Only: This URL structure is the simplest and a few large online blogs use it. Again like option 1 changing of an articles category will not affect it and so this is quite resilient. The articles are not arranged by a date in the slug but search engines do not really need this information in the slug anymore.

Not having category information in the URL does not seem to cause many online blogs issues.

My choice: https://www.mydemosite.com/{article_title}

Reasons: This slug is resistant to category change and is a popular method.

Asset storage

NB: This is only required if your bloggin system does not have an inbuilt method of handling assets.

Now this might sounds a really stupid thing to consider but when you are creating your blog articles you want to know where to put the images because of rules rather than having a guess each time or randomly creating a folder or worse, just dumping files anywhere. At first these methods will save you time but the longer you do it the harder it will be to find images, what to call folders and so on... until you wished you started doing things properly in the first place. After research I have came up with an excellent method for storing your images. It is expandable and prevents folders from becoming infinitely full (which can be a pain when enumerating folders with an FTP software) See my notes from earlier about deciding the segmentation level based on article post frequency where you should of already decided what level you requrie.

  • images/blog/{year}/{month}/{day}/{article_title}    (For large sites)
  • images/blog/{year}/{month}/{article_title}                (For medium sites)
  • images/blog/{year}/{article_title}                                  (For small sites)

Again like URLs they can be slightly tweaked to match your needs. The above URLs use Joomla’s image folder as their root as do most content driven stuff in Joomla. I have denoted the blog content with its own folder. These URLs are to be used irrespective of how you actually set you SEF URLs, but that does not mean you cannot match them i.e. if you use in both /{year}/{month}/{day}/{article_title}/.

If you start off with just using the year you can always add in a month folder later if you find you are writing to much content for 1 folder. At the very least you can run with just the year, for one year and then after that start adding in month folders to accommodate your extra writings.

As for the article title, once you have finished tweaking the article you are not likely to ever want to change this, and in the unlikely event you need to alter the article and altering its links will not be the end of the world.

My choice: images/blog/{year}/{article title}

Reasons: My website will only a have a small posting frequency of high quality articles.

 


 

Step 20 - Copy and Paste This!!!

This is an overview of what I have chosen and will act as a checklist for my future blog developements.

My Choices

  • Blogging System: Easyblog
  • Commenting System: Komento
  • Domain Prefix: non-www
  • Protocol: https
  • Location: /blog/
  • Slug: /{article_title}
  • Asset Storage: images/blog/{year}/{month}/{article_title}
  • Full URL: https://mydemosite.com/blog/{article_title}

 

Published in Blogging
Sunday, 18 February 2018 15:39

Create a Blog - Part 4 (Commenting Systems)

Commenting is very important for a blog it allows your audience to engage with you and your content. One other advantage is sometime other people can help you improve your content by spotting mistakes or giving you enhancements. I would always want comment system on my blogs.

16- Types of Blogging Systems Research

There are basically 2 types of commenting systems, Local and Remote which i will now go into more depth below:

Local

This is where the software and the comments are made, stored and maintained on your website.  Some blogging systems come with commenting inbuilt and these enough for most people. Then there are the more complex commenting systems you can use to upgrade or replace default one or just install because you don't have one. Some of these systems can have some online services for auto moderating comments integrated to reduce spam, remove bad words and other such things but they do not store any data in the cloud but just the processing power of these services and then store the comments locally on your server after processing.

Pros Cons
  • you control the comments
  • You own the comments
  • You can edit them as needed
  • You can control the users
  • You can use 1 login for the/your website (i.e. other services such as project fork)
  • You can collect email address and sign them up to newsletters
  • No 3rd party revenue stream

Remote

This is a new and growing trend in the social internet. I will just list the main pros and cons of using one of these services:

Pros Cons
  • Free
  • Cross Platform
  • Have their own control panel
  • Automatic moderation system in place
  • Antispam built in
  • Can control multiple websites from 1 control panel
  • Can moderate lots of your websites from 1 control panel
  • Customers can use one login across multiple websites
  • Decreases server load by remote server handling your comments
  • Can earn money from advertising
  • Requires specific plugins/support
  • Can cause slow pages loads (i.e. the comments don’t load instantly)
  • Ajaxed based, might have issues with Google not seing the comments
  • Dependant on a 3rd party system
  • Dependant on URL as Identifier
  • Comments are not stored on your website
  • Does not store the comments in the pages HTML
  • Asynchronous loading from server
  • I suspect that the comments are URL based so if you changed any links on your site the comments might move
  • You have to login to the service's server to manage your comments
  • Stored on remote server so if they go down so do all of your comments
  • You might have to pay an ongoing and ever larger subscription to keep the system operating or loose all of your comments.

17 - Commenting Systems for Joomla Research

Apart form Disqus all of these commenting systems are for Joomla only.

K2 (inbuilt)

K2 has its own internal commenting system

Pros Cons
  • Free
  • Connects to the article not the URL
  • Well supported on forums
  • Updated regularly
  • Limited to K2 Articles
  • No automatic moderation
  • Comments are siloed into K2

Easyblog (Internal)

Easyblog comes with its own in-built commenting system. It is similiar to Komento but i dont think it has all of the same functionality.

Pros Cons
 
  • Free (by proxy)
  • Has API links to automatic moderating services
  • Has quite a few options
  • Ideal if you only need comments on the blog
  • A lot of options
  • Comments are made in schema format (option)
  • Only does comments for Easyblog items
  • Comments are siloed into Easyblog

Komento

This is a paid for extension from Stackideas, the makers of Easyblog and is constantly maintained.

 Pros Cons
  • Supports EasyBlog
  • Updated often
  • Excellent support
  • Akismet integration (antispam service)
  • Seems to have all the Easyblog features inbuilt
  • Large number of extensions supported from the 1 component
  • Can be controlled from your website admin area
  • Kommento can be enabled/disabled per component
  • Centrally control comments from multiple systems
  • Easy to integrate other Joomla extensions to use Komento
  • Extra modules and plugins
  • Commercial
  • End User documentation does not exist.

JComments

This is the orginal commenting system for Joomla and is free. It does not seem to be actively maintained anymore but still works.

Pros Cons
  • Free
  • Extensively support
  • Popular
  • Good reviews
  • Large number of extensions supported
  • Can embed videos in comments
  • BBcode support
  • Can be reskinned very easy
  • lot of Joomla modules
  • Can control comments from multiple systems
  • Not updated that often
  • Only 1 programmer maintains this
  • You have to use a tag each page you want comments on in easy blog. For Joomla articles you can set this on by default I think
  • No antispam features except for a banned word list

Disqus

This is a cloud based commenting system that is free to use and offers the possibility of advertising revenue. However on large traffic sites you do have topay to use the service. End users never have to pay it is just for the website owners taht the costs can creep in. You need to take this into account if your website is going to scale up. For small websites using this service is an option.

Pros Cons
  • Free
  • Cross Platform
  • Have their own control panel
  • Automatic moderation system in place
  • Works fine for article and K2
  • You can sync the comments locally (not tested)
  • Antispam built in
  • Can control multiple websites from 1 control panel
  • Can moderate all of your websites from 1 control panel
  • Possibility of using API to store local cached copies of your comments
  • Customers can use their 1 disqus login across multiple websites and if they have one already are more likely to social engage?
  • Can use disqus as a social tool like twitter or Facebook
  • Decreases server load by having disquss server your comments
  • Can earn money from disqus
  • Can change URLs via a csv for disquss etc... so no longer tied in to one URL
  • Can control comments from multiple systems and sites
  • Works cross platform i.e. Wordpress, Joomla and many other CMS and website software.
  • Customers can use their 1 disqus login across multiple websites and if they have one already are more likely to social engage?
  • Can change URLs via a csv for discuss etc... so no longer tied in to one URL (not tested)
  • Requires specific plugins/support for each component
  • Can cause slow pages loads (i.e. the comments don’t load instantly)
  • Ajaxed based, might have issues with google
  • Dependant on a 3rd party system
  • Dependant on URL as Identifier
  • Comments are not on your website
  • Might have issues with specific Joomla extensions
  • Does not store the comments in the pages HTML
  • Asynchronous loading from server
  • I suspect that the comments are URL based so if you changed any links on your site the comments might move
  • You have to login to their server to manage your comments
  • Stored on remote server so if they go down so do all of your comments
  • Cannot join the paid program until you meet minimum requirements i.e. traffic + comments
  • Cannot be disabled per Joomla component (unless you use module permissions)
  • Might have issues with specific Joomla extensions
  • You do not own the comments
  • If disqus servers fail your comments dissapear
  • You can not move comments from article to article
  • You might have to pay an ongoing and ever larger subscription to keep the system operating or loose all of your comments.
  • Disqus has a tiered payment model for supplying the service.

Step 18 - Choose a Commenting System

After reading all of this information, answers to the following questions will allow you to choose the commenting system you want to use:

Do I want local or remote comments?

Followed by:

Which blogging system am I going to use?

 

Published in Blogging
Sunday, 18 February 2018 15:13

Create a Blog - Part 3 (URLs and Assets)

Step 12 - Research of Live Blog Sites

Visit loads of online and large blogs and examine their URLS to see how everyone else does it and then consider which is the best format for your blog. URL research online, is a great way to work out what URL you want to use

Below is my research of various blog sites and how they setup their URLs and asset storage.

Step 13 - Blogging System URLs

I will list here the various CMS systems and their URLs. This will help to see what other people use and why.

Joomla

URLs are purely controlled by the following things. This allows a lot manual control but can be time consuming.

  • Menu item/Menu Alias
  • Category/Category Alias
  • Article Alias

K2

URLs are purely controlled by the following things (same as Joomla). This allows a lot manual control but can be time consuming.

  • Menu item/Menu Alias
  • Category/Category Alias
  • Article Alias

Easyblog

Below is the list of Easyblog URL options and I will go through each one.

  • Enable Unicode aliases - If enabled, EasyBlog will insert an id of your content as part of your permalink. E.g. 24-your-blog-title. This will support any Unicode characters such as Hebrew, Russian or Polish languages in your permalinks.
  • Enable language translations for URL - Enable or disable language translations on EasyBlog URLs. If you choose to enable this option, your language file for EasyBlog must be able to support this feature.
  • URL Format for your entry - see table below

Easyblog URL Pros and Cons

 URL setting Pros Cons
Default
http://yoursite.com/menu/view/title
  • Resistant to category change
  • Simple
  • No category information in URL, may harm SEO
  • Will have the word entry in the URL (where view is)
  • Not resistant to article title change
Date Based
http://yoursite.com/menu/view/year/month/date/title
  • Resistant to category change
  • This length of URL is suitable for complex blogs with lots of posting
  • Will have the word entry in the URL (where view is)
  • No category information in URL, may harm SEO
  • Not resistant to article title change
Category Based
http://yoursite.com/menu/view/category/title
  • NOT Resistant to category change
  • Category information in URL, may help SEO
  • Will have the word entry in the URL (where view is)
  • Not resistant to article title change
Category & Date Based
http://yoursite.com/menu/view/category/year/month/date/title
  • Category information in URL, may help SEO
  • NOT Resistant to category change
  • Will have the word entry in the URL (where view is)
  • Not resistant to article title change
Simple
http://yoursite.com/menu/title
  • Resistant to category change
  • No ‘entry’ in URL
  • No category information in URL, may harm SEO
  • Not resistant to article title change
Custom
http://yoursite.com/menu/view/{%year_num%/%month_num%}/title

Available values for custom SEF:

  • %month% - Month Name
  • %day% - Day Name
  • %year_num% - Year digit
  • %month_num% - Month digit
  • %day_num% - Day digit
  • %category% - Category Title
  • %category_id% - Category ID
  • Example: %year_num%/%title%
  • Conditions can vary
  • Not all the URL variables are settable i.e. cant remove ‘menu’ and ‘view’ (see Easyblog notes)
  • Will have the word entry in the URL (where view is)
  • Conditions can vary

Overview Pros and Cons of Easyblog URLs

This will give an overview of the Easyblog URL setup because it has so many different internal options

 Pros Cons
 
  • Can set URLs independent of categories and articles
  • Can set a WordPress style URL (but with the word ‘entry’)
  • A custom URL option (but has the word entry in it)
  • Integration with Joomla URL router
  • Most of the URLs have the word ‘entry’ in them (this is where /view/ is)

WordPress

Now we will look at the WordPress URL options and list them here. WordPress calls SEF links Permalinks.

Primary URL Option

URL/Permalink Setting  Pros Cons
Plain
http://www.yoursite.com/?p=123
  • Resistant to category change
  • URL resistant if article title changes
  • No category information in URL, may harm SEO
  • No article title in the URL might hurt SEO
Day and name
http://www.yoursite.com/2018/02/18/sample-post/
  •  Resistant to category change
  • No category information in URL, may harm SEO
  • Not resistant to article title change
Month and name
http://www.yoursite.com/2018/02/sample-post/
  •  Resistant to category change
  • No category information in URL, may harm SEO
  • Not resistant to article title change
Numeric
http://www.yoursite.com/archives/123
  • Resistant to category change
  • URL resistant if article title changes
  • No category information in URL, may harm SEO
  • No article title in the URL might hurt SEO
Post name
http://www.yoursite.com/sample-post/
  •  Resistant to category change
  • No category information in URL, may harm SEO
  • Not resistant to article title change
Custom Structure
http://www.yoursite.com/%year%/%monthnum%/%day%/%postname%/
  • Conditions can vary
  • Conditions can vary

Wordpress Optional URL Settings

If you like, you may enter custom structures for your category and tag URLs here. For example, using topics as your category base would make your category links like http://www.yoursite.com/topics/uncategorised/. If you leave these blank the defaults will be used.

  • Category Base
  • Tag Base

Conclusion

As you can see, WordPress allows very specific configuration of its URL structure. This is by far the most configurable URL system. Most people running blogs use only the primary URL option as it suits most needs.

All of the URLs above (before adding ‘Category Base’ and ‘Tag Base)

Pros Cons
  • Category change resistant
  • Simple
  • No category information in URL might affect SEO

Step 14 - Category and Article URLs

Planning your URLs is very important, it is how search engines access and index your website. You cannot change an established link without consequences but it can be done if needed. How often have you added a link to your bookmarks only to come back to it later to find the page is no longer there. I am trying to avoid this situation by having good planning.

Using the information from the research above I made the following notes and my Joomla Blog Software research

  • All articles should not have category routes on them? (SEOrountable.com uses this method). This allows you to move an article to another category without affecting its UR and therefore SEO ranking
  • All large dedicated blog sites use the root for their blog
  • News sites and non-dedicated blogging websites tend to put their blog in a sub-folder/menu such as ‘news’ or 'blog'
  • Seoroundtable, seobook and lifehacker all use the URL format - http://www.mydemosite.com/{article_title}
  • Best to only put your article in 1 category and use tags
  • it is the URL that is important and cannot be changed without hurting SEO, whereas not so important for the images and assets as these can be moved without hurting SEO (not much if any) and they primary location is decided by organisational considerations i.e. /2014/ , /2014/12/
  • You need to use SEF URLs at all times not those ugly ones with ?/= in them
  • Do not use .html at the end of your link. It is the old way of doing things.
  • If an article title or category have an ID in the URL this is ok because google understands them. These can also prevent duplicate URL/content because the item Id are always unique.

I recommend to use one of the following, no date or category in the url. However if you choose to use wordpress I would read the 'How many articles will you write?' section.

Step 15 - Image/Asset storage location for articles

We now have addressed what URLs to use for the articles and blog but the articles will most likely have images or assets that need to go somewhere. The rules to where you store your article assets are separate to the URL format however they could match depending on your setup.

Blogging systems with in-built asset handling:

  • Wordpress
    • Will store all assets in a folder based on date e.g. wp-content/uploads/2017/12/profile-cropped-300.jpg so there is no real manual intervention you can do or need to do. The date structure is based on what Permalink Common Settings you select in the Wordpress admin options. I have not verify the different possibilities but this is an educated guess from my live blog research above.
  • EasyBlog
    • By default Easyblog uses /images/Easyblog and possibly needs changing
    • Easyblog has team blogging and a user’s files will be stored in a folder such as /images/Easyblog/user_files/789/{assets here} . A user’s image folder is separate to everyone else’s images,  /images/Easyblog/user_files/789/ is their root folder.
    • When using Easyblog a particular users image files will be in a different root folder and will have the users ID added as a folder to its root, this being said you should follow the same rules you pick for the rest of the site but applied to individual users if you want all of their files separate.
    • You can use my rules below in EasyBlog but you should stick with the in-built system.

Blogging systems without in-built assets handling:

This is my attempt to create a generic system for storing your files and will reflect the frequency of new articles created in your blog and these rules really come into their own when the system you are using does not have an automatic system for handling assets. Using these rule will require you to manually place those assets according according to the rules unless you can configure the system you are using to follow these rules. These rules can be applied to systems that are not blogs.

The reason for these rules are:

  • Make writing articles easier to write because the author knows where to place the assets.
  • Single folders will not hold 1000s of assets. This can cause enumeration issues aswell as making it difficult to identify what assets belong to which article.
  • Make it easier to manage assets already on the server.

How many articles will you write?

Before making your selection you should figure out how many articles are likely to be created on your blog. You can use any of these levels for any amount of articles but there is no point in overcomplicating things so these guidelines below will help you determine what the level of folder structure that is required to keep your files organised and prevent a single folder becoming bloated.

  • 1 article every 5 days = 73 articles a year
  • Use /2014/{article_title}
  • 1 article every 3 days = 121.667 articles a year
  • This is on the limit of /2014/{article_title} you should use /2014/12/{article_title}
  • 1 article every 1 day = 365 articles a year
  • Use /2014/12/{article_title}
  • 1+ article every 1 day (or team blogging) = 365+ articles a year
  • Use /2014/12/31/{article_title}

Once you have picked a level, you need to stick with it for a year. Come the next year you can then choose upgrade/downgrade/same depending on the amount of articles you have done or have not done. Doing this keeps all your files in order and maintains the 'year' container so the rules are not swapped mid-stream causing issue about which rules to follow.

You now need to check over the information and select which option is best for you:

Asset Location
Pros Cons Notes
images/blog/
  • URL resistant if category changes
  • Can be used where an article is in multiple categories
  • Will create one humungous folder with 100 – 1000s of images
  • Folder will only ever get bigger
  • No order to images
  • Hard to manage
  • Slow to index
Don’t use this one.
       
images/blog/{article_title}/
  • URL resistant if category changes
  • This seems a popular method.
  • Can be used where an article is in multiple categories
  • The single directory can get very full with a medium/large blog
  • Articles are not sorted in to categories
  • If you decide later to add things in to categories you would find it very difficult and would require a lot of intervention in the code (but not impossibly)
  • No category in the URL might hurt SEO
  • Number of article folders will only grow
 
images/blog/{category}/{article_title}/
  • Articles are in categories for easier management
  • If you choose a flat folder method you can easily remove the extra category part of the URL with a SQL script
  • Category in image URL good for SEO?
  • If you change an articles category the URL is not resistant
  • When a category is changed you would need to code edit
  • Possibly hurting SEO if category is changed
  • Cannot be used for articles in multiple categories
 
images/blog/{year}/{article_title}/
  • Each year you would get a new folder for storing articles keeping the number of articles in that folder from ever expanding for infinitum
  • Articles would be category changing resistant
  • Similar to the WordPress method of storing which seems to work well and is popular
  • You could further sub-folder the year to add the month in if there are too many articles
  • The year is a logical order not tied to categories or a filing system
  • Not over complex
  • Can be used where an article is in multiple categories
  • Each year folder could have a very large number of articles in it
  • No category in the URL might hurt SEO
{year} = 2013, 2014, 2015
Ideal format for small sites
       
images/blog/{year}/{month}/
  • URL resistant if category changes
  • Can be used where an article is in multiple categories
  • No category in the URL might hurt SEO
 
       
images/blog/{year}/{month}/{article_title}/
  • URL resistant if category changes
  • Can be used when an article is in multiple categories
  • No category in the URL might hurt SEO
{WordPress format} 2013/08
Ideal format for medium sites
images/blog/{year}/{month}/{day}/{article_title}/
  • URL resistant if category changes
  • Can be used where an article is in multiple categories
  • The {day} option adds 1 more layer of filtering.
  • No category in the URL might hurt SEO
{WordPress format} 2013/08/31
Ideal format for large sites
       
images/blog/{article_id}/
  • URL resistant if category changes
  • This seems a popular method.
  • Can be used where an article is in multiple categories
  • URL resistant if article name changes
  • The single directory can get very full with a medium/large blog
  • Articles are not sorted in to categories
  • If you decide later to add things in to categories you would find it very difficult and would require a lot of intervention in the code (but not impossibly)
  • No category in the URL might hurt SEO
  • Number of article folders will only grow
  • No article name in the URL might hurt SEO
 
images/blog/{category}/{article_id}/
  • Articles are in categories for easier management
  • If you choose a flat folder method you can easily remove the extra category part of the URL with a SQL script
  • Category in image URL good for SEO?
  • URL resistant if article name changes
  • If you change an articles category the URL is not resistant
  • When a category is changed you would need to code edit
  • Possibly hurting SEO if category is changed
  • Cannot be used for articles in multiple categories
  • No article name in the URL might hurt SEO
 
images/blog/{year}/{article_id}/
  • Each year you would get a new folder for storing articles keeping the number of articles in that folder from ever expanding for infinitum
  • Articles would be category changing resistant
  • Similar to the WordPress method of storing which seems to work well and is popular
  • You could further sub-folder the year to add the month in if there are too many articles
  • The year is a logical order not tied to categories or a filing system
  • Not over complex
  • Can be used where an article is in multiple categories
  • URL resistant if article name changes
  • Each year folder could have a very large number of articles in it
  • No category in the URL might hurt SEO
  • No article name in the URL might hurt SEO
{year} = 2013, 2014, 2015
Ideal format for small sites
images/blog/{year}/{month}/{article_id}/
  • URL resistant if category changes
  • Can be used when an article is in multiple categories
  • URL resistant if article name changes
  • No category in the URL might hurt SEO
  • No article name in the URL might hurt SEO
{WordPress format} 2013/08
Ideal format for medium sites
images/blog/{year}/{month}/{day}/{article_id}/
  • URL resistant if category changes
  • Can be used where an article is in multiple categories
  • The {day} option adds 1 more layer of filtering.
  • URL resistant if article name changes
  • No category in the URL might hurt SEO
  • No article name in the URL might hurt SEO
{WordPress format} 2013/08/31
Ideal format for large sites

Table Notes

  • {article_title} is the SEF URL slug generated for the article.
  • {article_id} is the article ID of the article.
  • Because I am using the Joomla, the base folder for all user assets is /images/and therefore is the one I am using. If you do not use Joomla you might want to select a different base folder.
  • All assets for the blog should be within a /blog/ folder and then that folder should be within the base folder you choose e.g. /images/blog/.
  • All Joomla blog images should be in /images/blog/ as the blogs image root.
  • All of these assume the article title will not change.
  • Size of the site referers to new article creation frequency.

Published in Blogging
Sunday, 18 February 2018 10:24

Create a blog - Part 2 (Blogging Systems)

Step 10 - Research Software

Because I use Joomla I need to look at all of the different blogging systems available along with commenting systems. I will assess them to see shich is the best setup.

Joomla Only

Using Joomla as is can be an option for some.

Pros Cons
  • Free
  • Has basic blog features
  • Jcomments will work with it to provide a commenting system
  • Large community
  • Lots of extensions/plugins
  • Community writes lots of extensions because k2 content can be access easily
  • Not all in one solution out of the box
  • Not all features i.e. auto blog system with integrator tools etc...
  • will require plugins for a good blogging platform
  • cannot configure URLs except by the menu, category structure and article title/alias
  • no inbuilt RSS

Conclusion

Too basic and not enough control over URLs. This might be ok for a news section of a website.

K2

This is a Joomla CCK with lots of content features but has blogging abilities. It does not have things like autoposting to social media built in.

Pros

Pros Cons
  • Free
  • k2 is a basic blog with lots of content features
  • Jcomments will work with it to provide a commenting system
  • Large community
  • Lots of extensions
  • Community writes lots of extensions because k2 content can be access easily
  • Has its own commenting system
  • Not all in one solution out of the box
  • Not an all features i.e. auto blog system with integrator tools etc...
  • will require plugins for a good blogging platform
  • cannot configure URLs except by the menu, category structure and article title/alias
  • needs a plugin to handle RSS feeding correctly

Conclusion

Has more than standard Joomla such as image auto resizing and an inbuilt commenting system but is still too basic without plugins for a dedicated blog. Too basic and not enough control over URLs. This might be all right for a news section of a website.

Easyblog

Easyblog seems to be a blogging system with all the tools built in.

Pros Cons
  • commercial
  • Remote blogging integration
  • Has its own commenting system built in (I suspect a cut down version of komento)
  • Can integrate with many different commenting systems
  • Can auto post to Facebook and twitter
  • Can link to social profiles including google+
  • Easyblog has all tools for blogging built in
  • integrates with easy social /easy discuss/mighty touch/ jomsocial/ AUP/ PhocaPDF/ AdSense/ zemanta/ pingomatic/ Flickr
  • supports ‘Team Blogging’
  • can import/export settings
  • correctly handles pagination with canonical tags
  • inbuilt pingomatic support
  • inbuilt RSS feeding
  • can override RSS feed in place of a syndicated Feedburner feed
  • integrates with 3rd party Joomla software
  • Has its own media manager and can cause issue with keep images organised (investigate)
  • Image name management sucks
  • Does not use the Joomla template and you have to use its own template
  • Has its own login system with in the component
  • Not much documentation

Conclusion

Easyblog is basically trying to be a clone of WordPress running as a native component in Joomla. It has all the features of a dedicated blogging system and allows the use of Joomla content plugins. One of the selling factors of Easyblog is that you can, like WordPress, configure the URLs separate to articles and categories. Easyblog also has a lot of social integration making it an ideal choise. This is a must as you won’t lose SEO ranking or traffic because you have a reorganise.

Links

WordPress for Joomla

There are 2 WordPress integrations for Joomla. Both of which have slightly different reviews.  There are some bridges and post copier extensions but I would not count these as use for this project.

WordPress is the go to standalone blogging platform but I am looking at this whilst using Joomla as I want all the benefits of Joomla with a Blog. You could in theory run WordPress and Joomla side-by-side with the same themes but this is extra work and would take more configurations.

Pros Cons
  • gives you a streamlined blogging system that is WordPress, in Joomla
  • is an excellent rated blogging system that 17% of the websites are made off
  • inbuilt RSS feeding
  • WordPress has its own inbuilt commenting system
  • doesn’t fully support all WordPress plugins
  • to add functionality you need to start installing WordPress plugins
  • have to learn another system
  • have to run 2 systems

Conclusion

WordPress is without doubt an excellent blogging system but that is all it is. It is similar to Joomla in that you can use plugins to extend the platform but when you start doing this it is much easier to use Joomla. WordPress for Joomla does not allow you to use Joomla plugins for the content in WordPress and not all WordPress plugins will work. So basically if you want to use WordPress, use it but without the Joomla wrapper anything else seems pointless

Joomla Integration Plugins

Step 11 - Choose Software

Now you have read my research you can either can look at some of the other platforms on the internet or pick one and move to the next step.

Published in Blogging
Thursday, 15 February 2018 18:48

Create a Blog - Part 1 (Setting up)

These instructions are meant to be platform independent however this tutorial is geared towards setting up a Joomla blog because this is what I use but most of the rules will apply to different blogging platforms.

You have to consider what your blog is going to be about before starting anything. What is your niche? What are you going to write articles about? It is always good to write about something you are passionate about and even better if you are a professional in that field. It could be you are just a hobbyist and want to share you experience.

You should write a blog because you want to, not because you want to make money. The reasons for this are 2 fold, you won’t make money straight away and if you are writing it from the point of view of just making money your blog will most likely have low value articles because you don’t care that much.

Do not rush setting your blog up, but do not be afraid to try things out.


Step 1 – Select your niche

What is your blog about, don’t try and write about everything and making sure your blog has some direction. This will allow you to put the occasional rant or general article in it if setup right.

Step 2 – Brainstorm Categories and Tags

This is important for setting up your blog. You need enough categories to put all your stuff into but not too many so that they become overwhelming,  I think 10 is probably enough.

But what happens if you need more than 10. You can have more than 10 if you really need to, but this is where tags come in.

Tags are simliar to categories except they do not have a hierarchy and are used for categorisation rather than display. Generally articles can only belong to one category but have many tags. They can be used like mini categories, see the example below:

  • Category: Online
  • Tags: Prestashop, Joomla, SEO, html, CSS

So all of these different types of article can go in the online category even if they are just about Prestashop. You should note that if one of the large portions of your writing is about Prestashop you should give it its own category.

These need to be nailed down before going any further. The way I would do this is write down every category you possibly want and then see if you can fit them in to 10 parent categories, this will give you your tags and categories.

Example Categories and Tags Brainstorm

This is my category brainstorm for my blog. Think of all the categories your articles could fit into, and then reduce the main categories to about 10 and the rest could be tags.

  • You can also research other blogs in your niche and see what they use.
  • Do one large list and then arrange it like below so you can see your categories and tags emerge.
  • Tags can be present in more than 1 category.
  • Some systems allow articles to be present in more than 1 category. I would avoid this unless really necessary.
  • It is recommend no more than 10 categories. Use tags for extended grouping.
  • News
    • Tech news
    • Security news
  • General / Misc
    • offers
    • Rants
    • Reviews
  • Security
    • Malware
    • Virus
    • Mobile
    • General
    • Web
    • personal
  • Web / Online
    • Prestashop
    • hosting
    • Joomla
    • Blogging
    • SEO
    • Online TV / Streaming services
  • Electronics
    • Soldering
    • BGA
    • Reflowing
    • Jtag
    • diagnostics
  • Software
    • free software
    • software reviews
  • Hardware?
    • Printers
    • Hard drives
    • monitors
  • Technology
    • Android
    • Hardware
    • Mobile
    • Mac OS
  • PC repairs / Computer Repairs?
    • Hardware
    • software
    • Windows
  • Programming
    • PHP
    • Java
    • Code snippets
    • MySQL
    • .htaccess
  • Computer Repairs
    • Useful tools
    • Malware software
    • Techniques
    • Solutions of note – how to fix a 0x80008 error
  • Other Category Ideas
    • Android software
    • Misc
    • Musings
    • General
    • Other

To finish this exercise and to make sure you have the right categories for your blog:

  1. Write a description for each of the categories (you will need these later anyway) and see how you feel.
  2. Write a couple of article titles and see how they fit, or better yet, use the titles of articles you already have or are thinking about writing

Step 3 – Brainstorm Articles

You do not need to write the articles now but I am guessing if you have not written them you know what you want to write about.

What I would do here is brainstorm all the ideas you have in your head for articles and write them down in a big list, this mean you can come back to them later without them rattling about in your head.

Step 4 – Select the look and feel of your blog

This speaks for itself you need to go and find a Joomla template you like the look of and don’t be shy for paying for one. They are not that expensive in the grand scheme of things, but there are loads of really good free ones.

  • Make sure you get a template that is mobile responsive.
  • Do not use dodgy templates i.e. Ones downloaded from pirate sites. They will most likely have viruses in that you cannot see.

Step 5 – Select a good domain name

Now you have some content and have direction for the site in your head, you need to decide what to call it. Follow some of the guidelines below for selecting:

  • Spend a good amount of time on this.
  • Don’t have a name that is too long.
  • Make sure it is easy to spell and say.
  • English words are better (wider audience).
  • Consider relevant keywords in your domain.
  • If your blog is a general blog make your domain name non-specific (i.e. buildinghouses.com is specific to building houses and would be no good for electronics.).
  • .com is preferably, but some articles say you get indexed easier in your country by using a country specific suffice (egg .co.uk).

I have used 123-reg.co.uk in the past for domains. They are not the cheapest but their system is really easy to use. They also have an excellent domain name checker.

Step 6 – Setup Hosting

This is a must for obvious reasons. There are many different solutions which can fall in to 3 groups

  1. Free
  2. Cheap
  3. Commercial

There is an adage that you get what you pay for, this is very true but when you are starting off because you do not need to buy a dedicated server costing $50 a month just to server 5 pages.

Always use a hosting service that uses the cPanel setup. This make your life much easier in maintaining your sites backend (databases, emails, crons etc...)

Free

The free services can be problematic and very restrictive and if a blog is going to be a main part of you probably don’t want to start with this.

Pros Cons
  • Free
  • Can get your website online quickly
  • You probably will get email
 
  • Limited number of email accounts
  • Limited number of files allowed
  • Limited number of MySQL databases allowed (if any)
  • Might not be able to use your own domain
  • Limited bandwidth
  • On really overloaded shared services
  • Limited support (if any)
  • Advertising in the control panel
  • Possibly advertising on your site (not good)
  • They will always try and up sale you
  • You will find you need to upgrade your package before too long
  • Shared server, which will be holding possibly thousands of websites
  • Might not be the most reliable service Support will not be manned by the most technically adept people. They will be able to do simple stuff but after that you are on your own. I recommend using bullet points here in emails. (if available)

Cheap

These services are not bad for the money but the support is not usually that good. Most of the cheap services such as hostgator/hostmonster/justhost/bluehost have all been bought up by one company, EIG.

Pros Cons
  • Cheap
  • Unlimited bandwidth (Fair Usage Policy)
  • Unlimited files (some limit the inodes to 50,000)
  • Limited support / Poor support
  • Shared server, which will be holding possibly thousands of websites
  • There will be adverts in the control panel
  • Might not be the most reliable service
  • Support will not be manned by the most technically adept people. They will be able to do simple stuff but after that you are on your own. I recommend using bullet points here in emails.
  • If someone spams from their site the whole IP is blacklisted
  • Adverts in the control panel

I would probably use Justhost for this option. I have used them in the past and they are ok.

Commercial

These can vary heavily in price and level of support. It is definitely worth shopping around here. I would not go for a dedicated server or any of that, if you need one of those you don’t need to be reading this blog post as you already know everything. I would stick with a base level shared server hosting package with a good level of bandwidth and storage, usually with unlimited bandwidth and unlimited storage but not always. You will find it better to get a data center based in the country you are living in for quicker load times. If there is nothing for a good price, US based services are always a good alternative.

Some good services do restrict the service they give you like bandwidth and storage so their servers do not get overloaded making sure your site is always on (99.99%). If you only every use 200mb storage, do you need unlimited storage?

Pros Cons
 
  • Good support
  • Unlimited bandwidth (usually)
  • Unlimited storage (usually)
  • Unlimited MySQL (usually)
  • No adverts in control panel
  • The companies will not try and upsell you
  • Servers will not be as overloaded (less sites per server)
  • Better uptime usually
  • Not the cheapest

I use hostdime for my websites and bought their reseller package. Their support is second to none. I am always impressed with the quickness and the quality of their answers. You can contact them by phone, live chat or ticket system

Tips:

  • When you have a real tricky issue it is always better to type it out and submit a ticket because the technicians that deal with the tickets have more time and less pressure to deal with them than on live chats.
  • If a live chat gets tricky the tchnician will create a ticket for you anyway.
  • Live chat is useful when you do not know what to ask for.

Step 7 - www or non-www

This is a very important selection because www.quantumwarp.com and quantumwarp.com as far as google is concerned they are two different websites and over time having links pointing to both of them will affect your ranking.

So which do I choose?

  • Blogs tend not to have the www.
  • Blogs should all be non-www (it is 2014, people know what a website is)
  • Corporate websites should all be www.

NB: Make sure that you setup a 301 redirect from the www to the non-www version of your website or vice versa so that there becomes only 1 website.

Step 8 - http or https

You absolutely need this nowadays. https allows secured connections to your website. Google and other search engines recogise this a positive factor so this will also help you SEO rankings.

You can get a cheap SSL certificate and install that yourself but as we speak more and more companies are automatically providing SSL certificates via the LetsEncrypt service with webhosting packages.

NB: Google and other search engines also recognise websites on http and https as different sites so make sure that you setup a 301 redirect from the http to https version of your website if both are exposed so that there becomes only 1 website.

Step 9 – Other things on your site and Blog Location

You know that your website is going to have a blog on it because that is the whole point for this article but you should now consider whether you want other services or features on it such as:

  • Knowledge Base
  • Tools
  • Custom Searches
  • Forum

Laying out a website is quite important and there are a few distinct options we can choose from. Select from the following list what you want your website to be:

  • Blog (in the website root) Only
  • Blog (in the website root) with other stuff present on the website 
    • https://quantumwarp.com/
    • This can be done but it could get a bit messy down the line when you try and figure out where to put stuff.
  • Blog (in sub-folder) with other stuff present on the website
    • https://quantumwarp.com/blog/ or https://quantumwarp.com/news/
    • If you are going to have more on your website than a blog, then this is the prefered option.
    • This silos the blog and stops it getting in the way of any other features/services you want to install or use on your website now or later.
    • Easier to expand your website.

If you choose either of the options to have you blog in the root then you can skip to the next step, but if your blog is going to be part of a larger website then you need to make a further choice below about what you call your Menu Item which also controls the URL slug. In a non-Joomla world you can just use a sub-folder for the same effect.

News or Blog

This is quite a common question so I have looked in to it and put my thoughts down below about when you should choose a to use menu item named Blog or News. This assumes you are putting your blog in a Menu Item/folder which you decided on above.

News

https://quantumwarp.com/news/

Choose 'News' if your website is:

  • Corporate
  • Faceless
  • Big Company
  • Articles not really written from the heart by one guy
  • The articles are more information giving than personal articles (i.e. we now sell 3.5 inch chrome brackets)
  • Not updated that much
  • Just informs about events
  • Single topic, company news
  • Sharing events and awards

Blog

https://quantumwarp.com/blog/

Choose 'Blog' if your website is:

  • Small company (mostly)
  • Personal messages
  • Articles written by a passionate person who is personally invested in the company/product
  • Articles are written by a human not scrapped from other sites
  • Updated fairly regularly (I would say once a week)
  • Gives some benefit to the reader other than selling goods
  • Hobby site
  • Personal site
  • Social Club site

Published in Blogging

By now you have created your Online Social Identity(s) which will now need as we go throught the various Social Media sites on the internet.

This article will help you configure these services to use them as a normal person but will not go into advanced integration, that is for another day.

Social Websites and Services

There might be more than these websites and services but these are just the ones I have come across or might feeel the need to use.

Online Services

  • Google
  • Microsoft
    • Email @ outlook.com
    • Windows login (optional – but I think it links your stuff, not quite social)
    • Skype
    • Xbox
    • Webmaster Tools
    • Windows Phone
    • LinkedIn (Does not need a Microsoft Account)
  • Yahoo
    • Email @ yahoo.com
    • Flicker
  • Facebook
    • Instagram (Does not need a Facebook Account)
    • Facebook Business Page
  • Twitter
  • Wordpress.com
    • Akismet (AntiSpam)
    • Gravatar
    • Ping-o-matic (no account needed)
  • AppleID
    • iTunes
    • iOS developers
  • Pinterest
  • Disqus
  • OpenID
  • Tumblr
  • Reddit
  • Blogger
  • Stumble Upon
  • LiveJournal – add the other writers list from easyblog - https://stackideas.com/docs/easyblog/administrators/remote-publishing
  • MySpace
  • GitHub
  • Forums and blogs – most of these when you login allow you to change your email

Security Services / Antispam

I have added these here because they either require you to use an online identity to be allowed to use them or they are involved in controlling social activities.

  • Project Honey Pot - The Web's Largest Community Tracking Online Fraud & Abuse |
  • Stop Forum Spam - A free service to block spam on your forum
  • reCAPTCHA v2
  • 2 factor authentication ( i.e. google 2 factor)
  • Google Safe Browsing API Key - Sever Key
  • Cleantalk - Cloud spam protection for forums, boards, blogs and sites
  • Akismet

Other Online Services

YouTube Share Links

These links are from a standard YouTube page and shows you the sites that YouTube regard as important in the social media and thus the rest of the web.

  • Facebook
  • Twitter
  • Google+
  • reddit
  • Blogger
  • Tumblr
  • Pinterest
  • BKOHTAKTE
  • LinkedIn
  • Stumble Upon
  • LiveJournal

Social Sharing Accounts

In this section I will add my notes that I used when configuring the various accounts. If there are not notes it does not mean I did not set that service up.

Google

Google+

Google+ is very similar to Facebook (and also looks it).

  • To use Google+ you must have a Google account
  • In your google account you create your Google+ profile
  • Your Google+ profile must be a real person (i.e. you)
  • You cannot use a Google+ profile for a business, organisation or other sort of entity
  • You can create pages in Google+ which can be used for business, brands or other entities etc...
  • You can transfer the ownership of a Google+ page to another user (2 week transfer period)
  • You can have multiple editors on a Google+ page
  • All the Google+ pages must have a personal profile attached to edit them
  • You can set a vanity URL for a Google+ profile
  • You can set a vanity URL for pages
  • Vanity links can be changed after being set
  • Your Google+ profile can be linked to your YouTube account (and will be?)
  • How to change primary email address of a Google+ Profile? – plus many other Q&As
  • View & edit your Google+ profile – official google page
  • you can change your name in Google+ only 3 times in 2 years
Google+ Vanity URL

YouTube

Microsoft

Outlook/Live

Xbox

Skype

  • You need a microsoft account now to use Skype and cannot create an account seperately.
  • These were applicable before you required a Microsoft Account for Skype:
    • Always create a skype account first and then link to your outlook account (if you want).
    • I recommend setting up your skype account first to guarantee you get a decent name otherwise you get one assigned automatically (see here)
    • Skype – you can link and unlink to a Microsoft profile. (Limited number of times).
    • You do not need to link your skype account to a live account
    • Always create a skype account seperate and then link. This gives you a proper login for the skype service, otherwise you will get an automatically assigned skype id and can only access this via your Microsoft live account
    • You can have multiple Skype accounts attached to 1 email address.
    • If you want to see all your Skype accounts assigned to your email address, you need to perform a password reset. Once you click on a link it will take you to a list of your usernames and ask you which one you wish to reset the password on.
    • Contact skype customer support to see what other names are attached to your email address and have them remove them.
  • Can link skype to Facebook
  • How can I contact Skype Customer Service? – this official page is the quickest way of contacting Skype customer services
  • Can I delete my Skype account? – Official Skype Page
  • How to Contact Skype Customer Service – Discussion - Check this (I need to login)
  • There are several different levels of account deletion:
    • Don’t use the account and after 72hours it will be removed from the public directory, but not people who have added you already in to their contacts.
    • Edit the account and remove all personal information. Skype recommends this method. The rule above then applies.
    • Completely delete the account via Skype customer services. You have to contact Skype by customer services to have the account completely delete but because of some laws they have to do this. This link says you should send an email to delete@skype.com (contacting customer services should be the same if this email does not work)
    • You can simply contact customer support to request to unlink your email address from those unknown accounts – Not confirm this method and whether it is the same and a full account delete. Forum thread here.

Yahoo

Yahoo Mail

Flicker

  • A yahoo account is now needed for flicker (see link)
  • When you log in to Flickr with a google or a Facebook account a yahoo account is created behind the scenes
  • Yahoo account for login to Flickr is becoming mandatory
  • How do I transfer my Flickr photos from my old yahoo user ID to a new yahoo ID? – Yes, but read this before you do anything.
  • You can set a vanity URL on your Flickr account
  • A vanity URL can only be set once and then not changed again

Facebook

To setup Facebook account I first need to explain a few things.

Creating a Facebook Page

These are instructions related to creating a Facebook page.

Facebook Vanity URLs

Here are a few things to keep in mind when you create a custom vanity URL/username:

  • You can't claim a username someone else is already using.
  • Choose a username you'll be happy with for the long term. Usernames are not transferable, and you can only change your username once.
  • Usernames can only contain alphanumeric characters (A-Z, 0-9) or a period (".").
  • Periods (".") and capitalization don't count as a part of a username. For example, johnsmith55, John.Smith55 and john.smith.55 are all considered the same username.
  • Usernames must be at least 5 characters long and can't contain generic terms.
  • You must be an admin to choose a username for a Page.
  • Your username must adhere to Facebook’s Statement of Rights and Responsibilities.
  • Facebook vanity URLs are case insensitive
  • All variations of your URL will redirect to your chosen URL (I.e. ‘quantumwarp’ is the same as ‘QuantumWarp’). Facebook performs a 301 redirect.

What Now

So after reading the points above which should answer a lot of questions you have, I would recommend that you

  • Create a Facebook profile (if not already created one)
  • Carefully decide what you want your page to be called.
  • Create a page for your Website / Blog / Software (If appropriate)
  • Get 25 likes and set your chosen vanity URL.

Twitter

Vanity URLs

What Now

  • So set up a twitter account with a relevant name.
  • If your username is not available try Twitter support for recovering it

Set These Accounts Up

You should create an account with the following services and where necessary create a vanity URL. These services are the most essential ones to have even if you do not use them yet and don't forget you should setup these for each of your online identities.

The big three all have username dependent services and these can be created at anytime because you have already reserved your by signing up to the big three at the beginning of this series.

  • Google
    • Google+
    • Google+ Business Page (where appropriate)
    • YouTube
  • Microsoft
    • Skype
  • Yahoo
    • Flicker
  • Facebook
    • Instagram (Does not need a Facebook Account)
    • Facebook Business Page (where appropriate)
  • Twitter
  • Wordpress.com
    • Gravatar
  • Disqus

 

Published in Blogging
Thursday, 15 February 2018 18:07

Online Social Identity - Part 2 (Vanity URLs)

Before going any further we need to discuss vanity urls, what are they, who uses them and should i have one. Not all services need or use vanity URLs and some services will give you a premade link that you cannot change which will be linked to your username/Email address. For those that dont you can either keep everything the same as we discussed in the previous part to this series or you can furhter use these rules to decide your Vanity URLs.

A vanity URL is a unique human readable web address that is usually easy to remember and share. These can be for companies or individuals.

  • Vanity URLs are better for SEO and makes you easier to find
  • Once you decide on a suitable URL you should use it throughout your social media to keep a brand going
  • Not all services allow you to change your Vanity URL once set.

NB: Don’t rush in setting up your Vanity URLS, it won’t make that much difference at the beginning if you want to do this later. It is easier and better to do this step at the beginning though.

Example Vanity URLs

These are examples URLs from JoomlaShine framework that show you what all main social networks have for their vanity URLS

Facebook Vanity URL Examples

Twitter Vanity URL Examples

To Capitalise or Not (vanity/SEF URL)

This question might not be as simple as you think.

I asked this question to a local internet company:

I am in the process of setting up my online presence, and after working out how it all works and my last stumbling block is ‘Vanity URLs’.  I need to know whether it is better to use capitalisation for better readability or all lowercase which might reduce 301 redirects. Is there a standard to be followed. I will also use my chosen standard across all my social platforms.

Eg a test blog , greenfields.com , but should all my URLs be like

and got this response:

In general, we’d always advise lowercase, as that is the “standard” (as much as there is one) for the web. In practice it doesn’t matter too much what you name your pages as long as they link together correctly. I would also avoid redirects from upper to lowercase, as really if someone hits something they shouldn’t, a good 404 (page not found) should be able to point them in the correct direction.

With Capitals (CamelCase)

Pros Cons
  • Easier to read
  • Can be used to help branding (i.e. see TWiT)
  • Not all systems might support capitals
  • Someone is most likely to type the address in with no capitals
  • When you go to a similar address (i.e. QuantumWarp/quantumwarp) the site will most likely 301 re-direct
  • Google might see 2 pages when people only post the all lower case link
  • Many variations of the same word.

All lowercase

Pros Cons
  • Fairly standard
  • All systems support lowercase URLs
  • Not likely to get similar links (i.e. QuantumWarp/quantumwarp) pointing to your page, so is better for SEO
  • Only 1 version so duplication should arrive
  • Someone is most likely to type the address in with no capitals
 
  • Slightly harder to read
  • Plain (boring!)
  • Not as easy to say out loud

What I have decided and why

All lowercase - e.g. quantumwarp

  • Look at JoomlaShine, they have 2 words in their name but use all lowercase
  • There is a 50/50 split on lowercase/capitalised social URLs in big companies
  • SEO companies seem to use lowercase (check this statement)
  • Easy to make sure all my social sites will be the same (not all might support capitals (further research here required)
  • Blog sites seem to use lowercase (arstechnica) this might be because it matches their domain name and is better for SEO
  • Companies with a brand that are not running a blog site but has another purpose i.e. TWiT seem to use capitals. So that being said, those who are running a blog and have their social links the same as their blog name, should use all lowercase.
  • Not all services perform a 301 redirect to your chosen URL. i.e. twitter does a re-write so you can have multiple URLs with the same content
  • The response from my local internet company who do this more than I do.

Vanity URL Links

 

Published in Blogging
Wednesday, 14 February 2018 16:57

Online Social Identity - Part 1 (Getting Started)

When going online you need to have accounts to use services, have a blog, contribute on forums and other things, I call this having an Online Social Identity. We might have one or more of these depending on our lifestyle or employment. The Online Social Identities will always start with the big three on the internet Google, Microsoft and Yahoo because they run many of the services you will use and so you will need an account with them.

The aim of this series of articles is to streamline your online social presence by unifying all of your accounts allowing you to get on with being online instead of trying to figure out what to do, what accounts you need and why.

Social Email Providers

When setting up your email addresses you will need to get one from each of the following email providers.  These are special case because the companies that supply them use these as accounts for their services on the internet and between them they control a lot of the services you will use on the internet.

If you already have accounts that you use from these providers you can still use them, it is not against the rules.

  • Google / @gmail.com
  • Microsoft / @outlook.com
  • Yahoo / @yahoo.com

NB: Apart from Microsoft you cannot change the associated email address for these accounts once they have been created.

The account email determines certain aspects of services you sign up for i.e. Your Microsoft email address will become your Skype username and your Yahoo! Email address becomes your Flickr name.  However some services such as Microsoft Xbox will allow you to set a different GamerTag if you want. It is for this reason you should configure these accounts first because they will become a permanent part of your Social Online Presence.

When you create theses emails you should make sure they all have the same Local-part (in this example ‘test123’):

This makes things a lot easier to manage going forward and gives you scope to swap between which account you use for your primary email a lot easier.

Different Online Social Identities

People have different roles in life and usually want these to be kept separate and this is no different online. Each aspect of your online presence will need its own identity and therefore will need a set of email accounts as outlined above. The possible groups are:

  • Personal
  • Website/Blog/Software
  • Business/Company/Infrastructure

I will now go into more depth about the different identities and how you should use them. You might not need all of these identities.

Personal

This identity is for an individual personal which is separate to all other things and just represents one person.

  • This represents you.
  • If you have personal blog or family images you would use this profile because they all belong to you.
  • Consider your Xbox account; imagine you leave a company you want to take all of your personal stuff with you including your Xbox account. If this is tied to your work’s or business account you would not be able to take it with you but because it is your personal account which is not tied to work in anyway this is not problem.
  • If you have multiple blogs you post on you will not have multiple logins for each of them.

Email Use Examples

  • Google
    • Personal mobile phone (Android)
    • Google+ profile
    • Google Play Store
  • Microsoft
    • Xbox Live
    • Personal mobile phone (Windows Phone)
    • Windows 10 login
  • Yahoo
    • Personal Flickr account

Website / Blog / Software

This identity is only needed if you have a Website, Blog or Software that is large enough to warrant its own emails and other stuff.

  • This will be your online public facing presence.
  • This is how people will see you and your brand.
  • Acquiring the email address similar to your blog name prevents anyone from pretending to be you or someone from your Website/Blog/Software.

Email Use Examples

  • Google
    • Google+ page
  • Outlook
    • Skype
  • Yahoo
    • Flickr account

Business / Company / Infrastructure

I will use these accounts for anything to do with my business and mass management of my websites, in particular Webmaster Tools, Analytics and Advertising.

Depending on your circumstances you definitely want separate business accounts. Imagine if your business collapsed or you sold it and you have all your personal stuff in this identity you would most likely have to start again because data migration is not the best or just not possible or even if you just needed a member of staff to perform certain tasks he might be able to read your personal emails and see other personal information.

  • All companies need their own identity that just belongs to that company
  • This account can be used for many websites because your company can own more than one website.
  • This account should not be tied to a specific website unless that website is you company name i.e. therockgroup.com – but you may own the matching website if it makes sense.
  • This account should be used to configure Analytics, reCAPTCHA, Webmaster Tools and all other infrastructure services for websites.
  • Even if you are a one man band you should still separate your work stuff from your personal because one day you might stop working or sell your business etc... This allows things to be kept really neat. If you have multiple websites you can add all of the infrastructure stuff in here or even delegate to someone else without giving the keys to your personal online presence.

Email Use Examples

  • Google
    • Business mobile phone (Android)
    • AdWords (google only allows you 1 account for AdWords; it is against T&Cs to have more than 1. You also need to get approval, set up credit cards and bank details).
    • Google Analytics for all of my websites
    • Google Webmaster Tools for all of my websites
    • Google+ page
  • Outlook
    • Skype
    • Bing Webmaster for all of my websites
    • Business mobile phone (Windows Phone)
    • Bing advertising account
  • Yahoo
    • Flicker account in the future - i.e. Pictures of the various buildings we own
    • Yahoo advertising account (if they split from Microsoft)

Creating your 'Email Addresses'/Accounts

  1. First of all select the identities you require. (Personal/Website/Infrastructure)
  2. Come up with some suitable usernames/email addresses? eg buzzaldrin@ shoppingnut@ test123@. these username should be no longer than 15 characters because this is the longest username Twitter will allow and is probably an industry standard.

For each identity you require you need to create a group of email addresses from Google, Microsoft and Yahoo all with the same Local-part (in this example ‘test123’):

NB: check the username is available on all 3 suppliers before you commit.

When creating the email address follow these simple guidelines:

  • Common
    • Configure recovery information (Mobile Phone and Email)
    • Enable Two Factor Authentication (optional)
    • Configure your profile including adding a logo or image
    • Configure your privacy options
    • Forward your emails as required (see next section)
    • Always pick the .com version for your email. Do not pick a regional version such as .co.uk
    • Never use your real name in your email for security reasons (optional)
  • Personal
    • Pick a sensible name that you would not be ashamed to give an employer in the future and is not overcomplicated.
  • Website / Blog / Software
    • The Local-part of the emails should have you Website/Blog/Software name in it otherwise this identity would be a little pointless, especially for brand awareness.
  • Business / Company / Infrastructure
    • Because this identity will hold more than 1 website or company asset you should make sure that you do not use a specific name so you can encompass multiple assets.
    • E.g. therockgroup@outlook.com does not specify any particular asset or website that you might own, almost like a holding company but for online assets.
    • I would also purchase the domain therockgroup.com (optional)

Managing those new email accounts

For each identity we now have 3 email addresses and to login into them regularly would add an extra burden on to someone who probably has better things to do so we will now explore the various options to reduce the man-hours required.

  • Use each account separately
  • Forward all emails to one address
  • Connected accounts
  • Forward to a non-social email account

With any of the options above you will still need to pick a primary email address which is the one you will give out and is easiest for you to use. Some prefer their Google account because it is on their android phone whereas other people prefer Microsoft because their accounts can be used as Exchange accounts within Outlook on their Desktop PC as well as being accessed online giving them the best of both worlds especially if they are a power user.

I will now briefly go over the various options and what I thing about them.

Use each account separately

If you really must, you can just ignore this section except for selecting a primary email address to use.

Forward all emails to one address

Within each of the 3 email providers you can set an option to forward your emails to a specified email address. The advantage of this is you can forward the emails from the 2 accounts you don’t really use the email address on to your primary email allowing you always see email from all 3 accounts in the one place. However when you reply to these emails it will use your primary email address which is ok.

There are different forwarding options but I would always choose to forward and delete emails. This stops there being 2 copies of emails. Yahoo does not allow the deletion of emails when forwarding so in this case I would select ‘Forward email and mark as read’ and then every now and again you can going in and delete them manually.

Connected Accounts

I have not really used this feature but again it is available in all 3 platforms and allows you to manage all of your email accounts in the one platform.

If you use outlook.com as your primary account and connect you Gmail account into it you can send and receive Gmail emails from outlook.com but these emails will be sent form Gmail and stored in Gmail. You have only added a portal to them by connecting your accounts. You still have to curate multiple accounts and I would not recommend this.

When you add your Yahoo Mail, Gmail, or other email accounts to Outlook.com, you can send and read email messages from those accounts without switching between email apps. Each email account you add to Outlook is called a connected account.

Read the article Add your other email accounts to Outlook.com - Office.com it explains what a connected account is and how to set it up for outlook.com addresses.

Forward to a non-social email account

If you already have a normal email address you use such as test123@example.co.uk that you have used for years you could always forward all emails to that address and use it as your primary account. You should be aware that unless you go some extra effort then all emails you send from that account will be from that email address (test123@example.co.uk) which sort of breaks the different identities policy I have been trying to setup.

See: Configure an Outlook.com account to use a 3rd party email address | QuantumWarp

Email Account Clean-up

Now you have all of your brand new email accounts configured as you want it would be a good time to delete and get rid of any other emails addresses that you had or partly used. This keeps things neat. Before deleting them, make sure you will not be removing access to any services you have signed up for.

Checklist

  1. Select required Online Social Identities
  2. Select an appropriate username
  3. Create the required email addresses with the selected username
  4. Configure recovery information (Mobile Phone and Email)
  5. Enable Two Factor Authentication (optional)
  6. Select a primary email account
  7. Setup email forwarding to your primary email account

Published in Blogging
Sunday, 04 February 2018 15:14

My Akeeba Release System Notes

Akeeba Release System is an extension that allows the administration and creation of update streams for both Joomla extensions in the XML format and for other software packages using a standard INI format that is compatible across many programming platforms. ARS also is capable of automatically submitting your Joomla extensions updates to the JED automatically.

The instructions for ARS are not so easy to follow until you know some key things and I will clear these up. Read this article first and then follow the official documentation because they will then make more sense. This article is based on Akeeba Release System v4.2.2 and the documentation available at the time.

Once you have gone through this guide you should considered the offcial wiki as your primary source of information as it is a great resource once you are going.

Understanding the structure of a repository

Consider the following example taken from the PDF, this will allow me to explain how things work.

Practical example: Software distribution

This is the kind of repositories ARS excels at. Create one category per software you want to publish. Let's say you produce an application named "Kitten Finder" and a Joomla! component named "Kitten.me". Each one of them is a category in ARS. Create one release per version of the software. For instance, "Kitten Finder" has released versions 1.0.b1 (a beta release) and 1.0 stable. Each one of the versions is a release in ARS. Each downloadable file is an ARS item. For example, you may have an installer of Kitten Finder for Windows, another for Linux, a third one for Mac OS X, a PDF with instructions and so on. Each file belonging to specific version of the application is an item in ARS.

In order to allow your visitors to browse the entirety of your repository, you will have to create a menu item to the full repository.

There are the following categorisations in ARS (in order: Parent --> Child)

  1. Visual Group
    • This should be considered as a section.
    • This is only used for displaying categories and releases on the front-end etc.
    • This does not affect any of the Categories, Releases or Update Streams hierarchy.
  2. Categories
    • Usually you have to create one category per software you want to publish.
    • QWcrm and QWGrabMeta should both have their own category.
  3. Releases
    • Think of a release as a group of files belonging to the same chronological order. Each release is supposed to supersede the directly previous release (the one with a higher ordering number than itself).
    • Each release is a different version of the software
    • QWcrm 3.0.0 and QWcrm 3.0.1 should both have their own release.
  4. Items
    • These what your visitors download. We chose to name them "items" instead of "files" because they can either be physical files stored on your server or links to a remote resource served from a different web server.
    • A downloadable file can either be a local file stored on the server or a remote file via a link.
    • The reason a Releases can have many Items is because you might have compiled the software for multiple operating systems such as Windows, Linux, Mac or Android and each of these will need their own record in ARS but are for the same release. It is also possible that you create documentation in a PDF for this version of the software and that again will need it's own record in ARS and so on.
  5. Update Streams
    • These are the update files builtas either XML or INI files which disemminate the softwares update information
    • Offer updates to your software in two formats: INI files easily usable by any and all programming languages or automatic creation of Joomla! XML extension update streams and JED Remote XML files. As soon as you publish a new version, all your clients using a modern version of Joomla! will be able to automatically upgrade to it. Moreover, the Joomla! Extensions Directory will be notified of the new version and update its listing. No extra file creation or manual action is necessary.

NB: The repository is logically separated to two sub-repositories. By default, they are named "Official Releases" and "Development Releases" https://github.com/akeeba/release-system/wiki/Understanding-the-structure-of-a-repository

Example Usage

The following examples should help you work out how the different areas of ARS fit together.

Here are some example Visual Group > Categories > Releases > Items designs...

QWcrm

  • Visual Group - QWcrm Downloads
  • Categories - QWcrm
  • Releases - QWcrm
  • Items - QWcrm-3.1.2.zip

QWGrabMeta

  • Visual Group - Joomla Downloads
  • Categories - QWCGrabMeta
  • Releases - QWGrabMeta
  • Items - plg_qwgrabmeta-v1.00.zip

Open Source Software

  • Visual Group - Downloads
  • Categories - Software, Documents
  • Releases - Joomla, WordPress, HowTo Documents
  • Items - JoomlaInstall.zip, WordPressInstall.zip, HowToJoomla.pdf

School Documents

  • Visual Group - Documents
  • Categories - Newsletters, Policy Documents, Job Applications
  • Releases - Whole School Newsletter, Sports Newsletter, Maths Newsletter
  • Items - January.pdf, Spring.pdf, SportsDay2012.pdf

Learning Resources

  • Visual Group - Learning Resources
  • Categories - Software, Documents
  • Releases - Gimp, Flash, Word
  • Items - GimpInstall.zip, FlashInstall.zip, MathsResource.doc

Settings Explained

I will go through the different ares of ARS and their settings so i can clear up any missing infromation.

Visual Group

The Visual Group seems to be optional because I created a Category without a Visual Group. A Visual Group should be considered like a section for displaying downloads and is only needed when displaying downloads on the Front-End.

This can only be created from the Control Panel where you will see a icon on the right. For some reason it is not a tab aswell.

  • Title - This is the title of the Visual Group displayed to your site's visitors
  • Published
    • Should it be visible to your users? Set to off to hide the Visual Group from view.
    • There are no other permissions for this feature.
    • This does not affect any of the Categories, Releases or Update Streams availablity
  • Description
    • Use the WYSIWYG editor to type in a description to be displayed for this Visual Group. You can use plugins freely.
    • This can be used to group Normal and BleedingEdge downloads together.

Category

Category management · akeeba/release-system Wiki · GitHub

  • Title - This is the title of the category displayed to your site's visitors
  • Alias
    • The standard Joomla SEF alias and if you leave this blank as it will get filled in automatically.
    • This is the alias (slug) appended to the URL pointing to that category's page. It's best to keep it short and only use lowercase unaccented Latin letters (a-z), numbers (0-9), dashes and underscores. Anything else may behave oddly.
  • Visual Group - Select a Visual Group that you have already created. This is optional.
  • Directory Type
    • Normal - In a Normal directory you have to manually create releases and items.
    • BleedingEdge -In a BleedingEdge directory all subdirectories created in the selected Files Directory will result into new releases being created and published without your intervention. Similarly, files uploaded in the subdirectories will be automatically turned into items and published.
  • Files Directory
    • This is the path to a directory which contains the files to be published in this category's releases.
    • The paths are given relative to your site's root.
    • This is the folder you actually put the software packages in to be downloaded.
    • Example folder names are:
      • qwcrm
      • com_qwcrm
      • plg_qwgrabmeta
      • If you have a version package with multiple items you might consider putting them in the same folder (Normal only, All updatable items in BleedingEdge mode need their own folder).
    • You can not create a category without assigning it a files directory.
    • You can use the same directory in multiple releases.
    • You can use directories in completely different base folders on each release.
    • If a directory doesn't already exists it will not be created, you will see an error message and your category won't be created.
    • Please note that ARS uses Joomla!'s API to filter directories. This limits you to using directories under your site's root.
    • If you want to protect your files from direct web access, please create a .htaccess file with the following content inside your files directory:
  • Published - Should it be visible to your users? Set to off to hide the category from view.
  • Access - The Joomla! access level / view level to apply to the release. You can create custom view levels, effectively choosing which user groups should be granted access.
  • Show unauthorised links - Unauthorised links refers to the downloadable items
  • Subscription Levels
    • This requires Akeeba Subscriptions to be installed.
    • Configure a subscription in Akeeba Subscriptions and then you can limit/control this category by those configured subscriptions.
  • Redirect URL for unauthorised - This option enables the redirect to the specified URL when the download is not authorised.
  • This is software is still supported - If enabled a tag on the frontend will say 'This software is no longer supported' or similiar.
  • Language - Leave set to All for automatic language handling or manually force a specific language.
  • Description - Use the WYSIWYG editor to type in a description to be displayed for this Category. You can use plugins freely.
  • Permissions - This is fine grained permission for the category. Do not change these unless you know what you are doing and need to.

Release

Release management · akeeba/release-system Wiki · GitHub

  • Category - Choose the category where the release will be placed in.
  • Version - Type in the title of this release. Since ARS is optimised for software delivery, we call this field Version, but you may type in anything you want, not just numbers.
  • Alias
    • The standard Joomla SEF alias and if you leave this blank as it will get filled in automatically.
    • This is the alias (slug) appended to the URL pointing to that release's page. It's best to keep it short and only use lowercase unaccented Latin letters (a-z), numbers (0-9), dashes and underscores. Anything else may behave oddly.
  • Maturity - If you are using ARS for software distribution, select the maturity level of this release. The possible options are Alpha, Beta, Release Candidate and Stable.
  • Hits - How many times the release page has been displayed. You can use this field to alter that number. Do note, that you do not need to change it on copied releases; copies will automatically receive a Hits number of zero.
  • Published - Should it be visible to your users? Set to off to hide the category from view.
  • Access - The Joomla! access level / view level to apply to the release. You can create custom view levels, effectively choosing which user groups should be granted access.
  • Show unauthorised links - Unauthorised links refers to the downloadable items
  • Redirect URL for unauthorised - This option enables the redirect to the specified URL when the download is not authorised.
  • Subscription Levels
    • This requires Akeeba Subscriptions to be installed.
    • Configure a subscription in Akeeba Subscriptions and then you can limit/control this category by those configured subscriptions.
  • Released On - The release date for the Release.
  • Language - Leave set to All for automatic language handling or manually force a specific language.
  • Description - Use the WYSIWYG editor to type in a description to be displayed for this release. You can use plugins freely. (First WYSIWYG)
  • Release Notes - Another text field where you can add release notes such as a changelog or specific requirements. (Second WYSIWYG)

Item

Item management · akeeba/release-system Wiki · GitHub

  • Release - Choose the Release to which the Item belongs.
  • Title - The title of the item used to display it to your users. If you are using Automatic Descriptions you don't have to fill it in.
  • Alias
    • The standard Joomla SEF alias and if you leave this blank as it will get filled in automatically.
    • This is the alias (slug) appended to the URL pointing to that category's page. It's best to keep it short and only use lowercase unaccented Latin letters (a-z), numbers (0-9), dashes and underscores. Anything else may behave oddly.
    • Tip: Leave it blank. As soon as you select a file or type in a link, ARS will automatically fill it in before your eyes. Didn't I already mention that ARS is designed to save you lots of time? But please note that ARS will also include the extension of the file (e.g. .zip) in the alias. Unless you've modified your .htaccess to redirect all extensions to Joomla!, this might cause 404 errors. In this case, just edit the automatic alias, removing the dot.
  • Type
    • This decides what type of download type this item has, File or Link.
    • File items allow your visitors to download files stored on your server, the most common case of downloads.
    • Link items allow you to link to a file or even a web page by its URL, internally or externally.
    • Using the Link type will not reveal the URL of the external item to your visitors until they proceed with downloading the item.
  • (Selected File Type Options)
    • Linked item URL - If you chose the Link type, type in the full URL to the file or web page you want to link to. Oh, yes... As soon as you click anywhere outside this field, the Alias will be filled in automatically based on the contents of the URL field if and only if you had an empty alias.
    • Filename - If you chose the File type, this displays a drop down of files found in the category's Files Directory and all of its subdirectories.
  • File size - Type in the file size in bytes. Or don't. If you leave it empty, ARS will try to determine this automatically. In the case of Link items, it will try to download the linked file.
  • MD5 Signature - Type in the MD5 hash of the file. Or don't. If you leave it empty, ARS will try to determine this automatically. In the case of Link items, it will try to download the linked file.
  • SHA1 Signature - Type in the hash of the file. Or don't. If you leave it empty, ARS will try to determine this automatically. In the case of Link items, it will try to download the linked file.
  • SHA-256 Signature - Type in the hash of the file. Or don't. If you leave it empty, ARS will try to determine this automatically. In the case of Link items, it will try to download the linked file.
  • SHA-384 Signature - Type in the hash of the file. Or don't. If you leave it empty, ARS will try to determine this automatically. In the case of Link items, it will try to download the linked file.
  • SHA-512 Signature - Type in the hash of the file. Or don't. If you leave it empty, ARS will try to determine this automatically. In the case of Link items, it will try to download the linked file.
  • Hits - How many times the item has been downloaded. You can use this field to alter that number. Do note that you do not need to change it on copied items; copies will automatically receive a Hits number of zero.
  • Published - Should it be visible to your users? Set to off to hide the category from view.
  • Access - The Joomla! access level / view level to apply to the item. You can create custom view levels, effectively choosing which user groups should be granted access.
  • Show unauthorised links - Unauthorised links refers to the downloadable items
  • Redirect URL for unauthorised - This option enables the redirect to the specified URL when the download is not authorised.
  • Subscription Levels
    • This requires Akeeba Subscriptions to be installed.
    • Configure a subscription in Akeeba Subscriptions and then you can limit/control this category by those configured subscriptions.
  • Environments
    • You can pick from a preconfigured list of software enviroments e.g. Windows, linus, Joomla 1.5, Joomla 3.0 etc..
    • These all have a description and an icon that will get display on this item's page.
    • These Enviroments can be configured from the ARS Control Panel.
  • Update Stream
    • Select which update stream which you want this download to be attached to.
    • I think this is so you can have mulitple versions of the software in one stream i.e. v3.0.0, v3.1.0, v3.1.2....
    • You can save an item without attaching it to a stream.
  • Language - Leave set to All for automatic language handling or manually force a specific language.
  • Description - Use the WYSIWYG editor to type in a description to be displayed for this item. You can use plugins freely.

Update Stream

 Setting up update streams · akeeba/release-system Wiki · GitHub

  • Stream Name
    • A name for the update stream. It can be anything you want and is only used in the Joomla! XML format streams.
    • This is what Joomla! will also display as the Extension Name when it lists new available updates.
  • Alias
    • Used to construct the URL in the front-end.
    • Keep it short and sweet, but definately use something that you choose rather that the autmatic naming as below.
    • The standard Joomla SEF alias and if you leave this blank as it will get filled in automatically.
    • The automatic alias names are as follows updatestreams, updatestreams-2, updatestreams-3 and so on.
  • Extension Type
    • This is used by the Joomla! XML format update stream to description what sort of extension it is.
  • Category
    • The category where we're going to look for updates.
    • You can have more than one update streams per category. However, a single update stream can only look inside a single category.
  • Package naming pattern
    • This is a type of Regex to use to look for files for this Update Stream.
    • An update stream looks for files following a specific naming convention. You have to supply a "shell pattern" in here. This is fancy wording for saying that you provide a filename and use a single question mark (?) to match any single character or a single start (*) to match any number of characters. It's what you already use on your operating system! Only items whose File or URL field matches this pattern will be included in the update stream.
    • For instance, all Akeeba Backup Core installation packages are named com_akeeba-VERSIONNUMBER-core.zip, where only VERSIONNUMBER changes, i.e. com_akeeba-3.1-core.zip, com_akeeba-3.1.5-core.zip etc. This leads us to a naming pattern of com_akeeba-*-core.zip and that's what I would use.
  • Element
    • This is required for Joomla! update streams. It should contain the name of your extension, e.g. com_something, mod_something, plg_something etc.
    • For example, Akeeba Backup Core installs in the com_akeeba directory. This is the element name: com_akeeba
  • Site area (client_id)
    • Since Joomla! 1.7.0, all update streams must indicate the site area (frontend or backend) the extension applies to. For component, library and file extensions you must always use "Backend". For plugins, modules and templates select "Frontend" or "Backend" depending on whether your extension applies to the frontend or the backend of your clients' sites respectively.
    • This is only required for XML update streams. If you are only interested in providing INI update streams, e.g. for desktop software, simply ignore this option.
  • Folder (for plugins)
    • For all extension types except plugins, leave this blank. For plugins, this must be set to the plugin type. For example, if you have a system plugin, type in system in this box. If you have a content plugin, type in content in this box. You get the idea! This is the name of the plugins folder's subdirectory where the plugin is being installed to.
    • This is only required for XML update streams. If you are only interested in providing INI update streams, e.g. for desktop software, simply ignore this option.
  • JED Extension ID
    • This is optional and only needs to be entered for extensions listed in the Joomla! Extensions Directory (JED). This is the numeric ID of your extension as listed in the JED. This is used for the Install from Web feature integration. For more information please take a look at the Content - Akeeba Release System Latest Version plugin which contains the plumbing to actually provide the URLs you need to use for the (quite convoluted) Install from Web feature.
    • If the ID is not set I beleieve then changes to this extesnion will not cause the JED stream to be pushed to the JED.
  • Published - Unpublished streams result in empty pages which is almost the same as disabled but not quite.

 Notes

  • Disabled streams will just return a blank page with a 200 OK code.

Setting Up ARS: A Practical Example

These instructions assume you have installed Akeeba Release System.

1) Create a Primary Repository Folder

NB: This might not be needed if using a download manager such as JDownloads because ARS will only use links. Create it anyway as it won't harm.

You need somewhere for your downloadable files to be stored but ARS does not automatically create the Primary Repository folder or any other folders. Folder creation has to be done manually for some reason however the primary folder only needs to be created once.

  • Using your FTP program log in to your website's FTP and create the following folder in your website root. You can put this folder anywhere you want but within the public filesystem. This setup is my preference only.
    /arsrepo/
    
  • You now need to prevent direct linking to these files. This step is optional but highly recommended. Create a .htaccess file in your root repository folder /arsrepo/ that you just created above with the following content:
    <IfModule !mod_authz_core.c>
        Order deny,allow
        Deny from all
    </IfModule>
    <IfModule mod_authz_core.c>
        <RequireAll>
            Require all denied
        </RequireAll>
    </IfModule>

2) Create Your First Update Stream

Now select what type of repository you want and go to that section. (2a) or (2b) and i would recommend (2a) but If you want more automationtion, use the BleedingEdge (2b) option. You should repeat the choosen step as many times as you need but If you only do it once you can come back later for more software.

Although I am using a Non-Joomla software (QWcrm) for this example there is no difference except on that in Update Streams there might be different options for Joomla and Non-Joomla software.

2a) Normal (Category)

The following is a practical example on how to setup your software in ARS so you can get your first update stream working. Once you have done one, everything will be a lot easier to understand.

The option will require manually intervention, such as creating folders, i think?

NB: Visual Group does not seem to do anything, If anyone knows what it is for post a comment

Joomla Extension - com_qwcrm-3.0.0.zip

  • Create a folder /arsrepo/qwcrm/ (This assumes you repository root is /arsrepo/)
  • Upload the file com_qwcrm-3.0.0.zip to /arsrepo/qwcrm/
  • Create a Visual Group (Optional)
    • Title: QWcrm Downloads (or Non-Joomla Downloads)
    • Published: Yes
    • Description: QWcrm software including plugins and modules.
    • Click 'Save & Close'
  • Create a Category
    • Title: QWcrm (or Non-Joomla)
    • Alias: automatically gets filled in
    • Visual Group: QWcrm Downloads (or Non-Joomla Downloads) (optional)
    • Directory Type: Normal
    • Files Directory: arsrepo/qwcrm
    • Published: Yes
    • Access: Public
    • Show unauthorised links: No
    • Subscription Levels: Ignore this setting.
    • Redirect URL for unauthorised: Ignore this setting.
    • This is software is still supported: Yes
    • Language: All
    • Description: These are my releases of QWcrm and related software.
    • Click 'Save & Close'
  • Create a Release
    • Category: QWcrm
    • Version: 3.0.0
    • Alias: automatically gets filled in
    • Maturity: Stable (This assumes it is stable).
    • Hits: ignore this setting
    • Published: Yes
    • Access: Public
    • Show unauthorised links: No
    • Redirect URL for unauthorised: Ignore this setting.
    • Subscription Levels: Ignore this setting.
    • Released On: Todays Date
    • Language: All
    • Description: The Best Open Source Repairs Business CRM program available (First WYSIWYG)
    • Release Notes:This is my initial release. (Second WYSIWYG)
    • Click 'Save & Close'
  • Create an Item
    • Release: 3.0.0
    • Title: QWcrm
    • Alias: automatically gets filled in
    • Type: File
    • File name: com_qwcrm-3-0.0.zip (This will fill in the alias automatically)
    • File Size:
    • MD5 Signature:
    • SHA1 Signature:
    • SHA-256 Signature:
    • SHA-384 Signature:
    • SHA-512 Signature:
    • Hits: ignore this setting
    • Published: Yes
    • Access: Public
    • Show unauthorised links: No
    • Redirect URL for unauthorised: Ignore this setting.
    • Subscription Levels: Ignore this setting.
    • Enviroments: Select the appropriate options from the list.
    • Update Stream: If you already have an Update stream you can select it other wise you have to leave this and come back later after creating it.
    • Language: All
    • Description: Release 3.0.0 of QWcrm
    • Click 'Save & Close' (Upon saving ARS will attempt to calculate and fill in the File Size, MD5 Signature and all of the SHA Signatures).
  • Create an Update Stream
    • Title: QWcrm
    • Alias: automatically gets filled in
    • Extension Type: Components (Files might be the best choice for non-Joomla item, might add my own)
    • Category: QWcrm
    • Package naming pattern: com_qwcrm-*.zip (* = any charcters, ? = any single character)
    • Element: com_qwcrm
    • Site area (client_id) Backend (Because QWcrm is a component the should be set to Backend.)
    • Folder (for plugins): QWcrm is not a plugin so you should just leave empty.
    • JED Extension ID: QWcrm is not listed on the JED so leave empty.
    • Published: Yes
    • Click 'Save & Close' (when you save this might update the Item update stream to match, does not harm to check)
  • Check to make sure that your Category, Release, Item and Update Stream are all published.

2b) BleedingEdge (Category)

BleedingEdge (BE) categories are quite different than the Normal-type categories. You don't have to visit your site's back-end to publish and unpublish releases and items. It all happens automatically whenever you upload or delete files on your server. This can be used in conjuction with Akeeba Release Maker to almost make releasing files a 1 click affair.

  • How the BleedingEdge categories work · akeeba/release-system Wiki · GitHub - This official documentation includes details on how to write your CHANGELOG and a clear explantion of what is going on with a BleedingEdge Category.
  • If you upload a plain text file named CHANGELOG (yes, all caps and no extension), ARS will read it, compare it with the previous releases's CHANGELOG, colorize the result and use that as the ARS Release's description.This implies that you upload raw files and not zip files or I read somewhere it will extract the file and look in it, I have not confirmed this but it seems sensible. You would need to play around with this. Possibly this is uploaded within the release folder. This can be disabled in the Component options.

The following is a practical example on how to setup your software in ARS so you can get your first update stream working. Once you have done one, everything will be a lot easier to understand.

The option is the automated type for developers who do constent releases.

NB: Visual Group does not seem to do anything, If anyone knows what it is for post a comment

Joomla Extension - com_qwcrm-3.0.0.zip

  • To get the automation working you need to enable these plugins in the Joomla Plugins Manager.
    • Akeeba Release System - Bleeding Edge release maturity - Sets the maturity of Bleeding Edge releases based on the folder name suffix (e.g. _BETA for beta releases, _RC for Release Candidates, etc)
    • Akeeba Release System - Bleeding Edge automatic file diff - Automatically generates a colorised unified diff (like what GitHub does) for items automatically created in a Bleeding Edge repository.

The following is mostly the same as (2a) except for the Directory Type whichg is now set to BleedingEdge.

  • Create a folder /arsrepo/qwcrm/ (This assumes you repository root is /arsrepo/)
  • Upload the file com_qwcrm-3.0.0.zip to /arsrepo/qwcrm/
  • Create a Visual Group (Optional)
    • Title: QWcrm Downloads (or Non-Joomla Downloads)
    • Published: Yes
    • Description: QWcrm software including plugins and modules.
    • Click 'Save & Close'
  • Create a Category
    • Title: QWcrm (or Non-Joomla)
    • Alias: automatically gets filled in
    • Visual Group: QWcrm Downloads (or Non-Joomla Downloads) (optional)
    • Directory Type: BleedingEdge
    • Files Directory: arsrepo/qwcrm
    • Published: Yes
    • Access: Public
    • Show unauthorised links: No
    • Subscription Levels: Ignore this setting.
    • Redirect URL for unauthorised: Ignore this setting.
    • This is software is still supported: Yes
    • Language: All
    • Description: These are my releases of QWcrm and related software.
    • Click 'Save & Close'
  • Create a Release
    • Category: QWcrm
    • Version: 3.0.0
    • Alias: automatically gets filled in
    • Maturity: Stable (This assumes it is stable).
    • Hits: ignore this setting
    • Published: Yes
    • Access: Public
    • Show unauthorised links: No
    • Redirect URL for unauthorised: Ignore this setting.
    • Subscription Levels: Ignore this setting.
    • Released On: Todays Date
    • Language: All
    • Description: The Best Open Source Repairs Business CRM program available (First WYSIWYG)
    • Release Notes:This is my initial release. (Second WYSIWYG)
    • Click 'Save & Close'
  • Create an Item
    • Release: 3.0.0
    • Title: QWcrm
    • Alias: automatically gets filled in
    • Type: File
    • File name: com_qwcrm-3-0.0.zip (This will fill in the alias automatically)
    • File Size:
    • MD5 Signature:
    • SHA1 Signature:
    • SHA-256 Signature:
    • SHA-384 Signature:
    • SHA-512 Signature:
    • Hits: ignore this setting
    • Published: Yes
    • Access: Public
    • Show unauthorised links: No
    • Redirect URL for unauthorised: Ignore this setting.
    • Subscription Levels: Ignore this setting.
    • Enviroments: Select the appropriate options from the list.
    • Update Stream: If you already have an Update stream you can select it other wise you have to leave this and come back later after creating it.
    • Language: All
    • Description: Release 3.0.0 of QWcrm
    • Click 'Save & Close' (Upon saving ARS will attempt to calculate and fill in the File Size, MD5 Signature and all of the SHA Signatures).
  • Create an Update Stream
    • Title: QWcrm
    • Alias: automatically gets filled in
    • Extension Type: Components (Files might be the best choice for non-Joomla item, might add my own)
    • Category: QWcrm
    • Package naming pattern: com_qwcrm-*.zip (* = any charcters, ? = any single character)
    • Element: com_qwcrm
    • Site area (client_id) Backend (Because QWcrm is a component the should be set to Backend.)
    • Folder (for plugins): QWcrm is not a plugin so you should just leave empty.
    • JED Extension ID: QWcrm is not listed on the JED so leave empty.
    • Published: Yes
    • Click 'Save & Close' (when you save this might update the Item update stream to match, does not harm to check)
  • Check to make sure that your Category, Release, Item and Update Stream are all published.

This is additional to (2a) for obvious reasons.

  • Upload the Files (ftp or other method).
    • Create a folder /arsrepo/qwcrm/3.0.0_STABLE/
    • Upload com_qwcrm-3.00.zip to /arsrepo/qwcrm/3.0.0_STABLE/
    • Done

Uploading Notes

  • You can automatically create Releases by creating a directory within /arsrepo/qwcrm/
  • You can automatically create Items by creating adding files within a release directory i.e. /arsrepo/qwcrm/3.0.0/ or /arsrepo/qwcrm/3.0.0_BETA/
  • If your rename or delete files/directories then the corresponding ARS records will become unpublished.
  • If you include _ALPHA, _BETA, _RC or _STABLE as a suffix when you create your new directories, ARS will know to initialise the directory's maturity status accordingly. Otherwise your Release will default to ALPHA, and you will have to manually change it as required.
  • The different maturity settings are possibly used by Joomla when you choose the update channel you want.

3) Check The Update Stream Works

You have now successfully created an update stream for you software and you will now see on the Update Streams page a new record for it. On this record you can see the links to your various stream types. Click on the INI link to see if it is working. If you get a message like below something is wrong. Most likely you have not gone back to your new QWcrm Item and selected the new Update Stream. In the examples below you can see where all of the different configurations end up.

Failed INI file

; Live Update provision file
; No updates are available!

Successful INI file

This is an example INI file that is generated by ARS.

; Live Update provision file
; Generated on 2019-11-15 11:29:18 GMT
software="QWcrm"
version="3.0.0"
link="https://quantumwarp.com/index.php?option=com_ars&view=Item&task=download&format=raw&id=1"
date="2019-11-13"
releasenotes="<p>This is my initial release.</p>"
infourl="https://quantumwarp.com/index.php?option=com_ars&view=Items&release_id=1"
md5="f7dbe1333891bdd4e599e3520050bb57"
sha1="cd0361655c6722e667ab42ae275f3068cec96720"
sha256="625a1bfe329438ded94386a50b56d68962f0ab610a1bd300c5de8a8b7cf1beea"
sha384="7c9271509978ea3f8ab252f9c4ad9910568a5c07fd6b5ff068fb3545fb792e912017b73f984867283ecb6c652d8143ff"
sha512="e08b53f359f4ab8d62c87c1fc1b10338446818220182cb46bd4cb68435692b24887707ce114835e27514b9bc080b8b560402e7ae366aca3f449e874960edf02b"
platforms="joomla/3,php/7.3"

Successful XML file

This is an example XML file that is generated by ARS.

<?xml version="1.0" encoding="utf-8"?><!-- Update stream generated automatically by Akeeba Release System on 2019-11-15 11:31:11 GMT -->
<updates>
    <update>
        <name><![CDATA[QWcrm]]></name>
        <description><![CDATA[QWcrm]]></description>
        <element>com_qwcrm</element>
        <type>component</type>
        <version>3.0.0</version>
        <infourl title="QWcrm 3.0.0">
            <![CDATA[https://quantumwarp.com/index.php?option=com_ars&amp;view=Items&amp;release_id=1]]>
        </infourl>
        <downloads>
            <downloadurl type="full" format="zip">
                <![CDATA[https://quantumwarp.com/index.php?option=com_ars&view=Item&task=download&format=raw&id=1&dummy=my.zip]]>
            </downloadurl>
        </downloads>
        <tags>
            <tag>stable</tag>
        </tags>
        <maintainer><![CDATA[QuantumWarp]]></maintainer>
        <maintainerurl>https://quantumwarp.com/</maintainerurl>
        <section>Updates</section>
        <targetplatform name="joomla" version="3"/>
        <client>1</client>
        <folder></folder>
        <ars-phpcompat version="7.3" />
    </update>
</updates>

NB:

4) Create Basic Menu System

These are the a bridged instructions from Setting up your menu items for best results · akeeba/release-system Wiki · GitHub which are worth a read.

  • Create a new 'hidden' menu with these settings (i.e. hidden = dont create a menu module for this menu):
    • Title: ARS Hidden
    • Menu Type: ars-hidden
    • Description: ARS menu structure, do not publish
  • Create our Base menu item for the repository in our new hidden menu:
    • Menu Type: Entire Repository
    • Menu Title: Update Server
    • Alias: updates
  • Create one menu item for each of your ARS Categories. Each menu item needs the following setup:
    • Menu Type: Akeeba Release System, Category View
    • Parent Item: select the menu Entire Repository menu item you created above
  • Create Visible menus. To make these visible to users we shall go ahead and create menu aliases to them in a normal menu
    • Select a normal menu you want this link and create a menu item as follows
    • Menu Item Type: System Links, Menu Item Alias
    • Menu Item: Update Server (In the Menu Item drop-down: Choose one of the ARS Hidden menu items.)
  • Create an Update Stream for each piece of software in the 'ARS Hidden Menu'
    • Create a new menu item of Type XML Stream Feed under the relevant category
    • Select the 'Update Stream' in the 'Basic options' tab.
  • Create an JED Stream for each piece of software in the 'ARS Hidden Menu' if you have published them to the JED.
    • Create a new menu item of Type JED Remote XML under the relevant category
    • Select the 'Update Stream' in the 'Basic options' tab.
    • Submit this new URL to the your JED listing.

NB:

  • I am not use why the menu has to be hidden if you are wondering. You can probably just use the menu published and not bother with 'Menu Aliases'. I suspect it is if you want create XML Stream via menu items.
  • You can just use the non-sef direct URLs that ARS generates and not require menu items for the strems.
  • Select and build your menus as you see fit following the basic format above. Create them in the hidden menu and then use 'Menu Aliases'.
  • Menus are not used to create the XML update streams but you can do if needed. The offcial wiki says "You may have noticed the absence of any reference to JED Remote XML, XML Master Feed, XML Stream Feed and XML Category Feed menu items. Do not create such menu items at all! Due to the way Joomla! routing works you may end up with update URLs that have broken download or information URLs." - I think this applied to old version of Joomla and ARS.
  • You dont need any visible menu items for ARS to work.
  • You cannot add XML to the end of a menu item.
  • The setups of ARS I have seen always use the Non-SEF URLs for their streams.

5) Further Configurations

You should look at these various different settings to see if you need to change any of them.

  • Component options - The standard button at the top right of the component. Various settings in here you need to got through.
  • Enviroments - Tags that are used in the XML update streams to denote the compatible platform. Format: platform name/platform version, e.g. joomla/1.6 for Joomla! 1.6
  • GeoIP Plugin - This needs installing so you can

6) Other ARS Plugins

  • Content - Download ID - Displays the Download ID for the currently logged in user. Use as {downloadid} anywhere in your articles.
  • Button - ARS Item - Displays a button to make it possible to link to ARS download items. Displays a popup allowing you to select an ARS item.
  • System - Akeeba Release System integration with Install from Web - Allows the Akeeba Release System's Latest Release plugin to produce URLs which work with the Install from Web feature introduced in Joomla! 3.2. If a user comes to your site from the Install from Web feature the generated URL will take the user back to their site's Extensions Manager page with the download URL pre-filled. You will need to have both this and the Latest Releases plugins enabled for this feature to work. (Enabled by default)
  • Content - Akeeba Release System Latest Releases - Allows you to display the latest release of a category or generate links to it or specific items under it. (Enabled by default)
  • GeopIP Plugin - Akeeba Release System require an extra plugin to be installed on your site, "System - Akeeba GeoIP provider plugin", in order to be able to determine the country the downloads are started from.

7) Features that need configuring if you want them

  • Automatic item descriptions - Used in conjuction with BleedingEdge you can apply preconfigured item descriptions to specified packages. It is not clear if it is required for BleedingEdge to work.
  • Download IDs - Like a license key. It is a unique hash so a user does not have to be logged it to get a download.
  • GeoIP Logging - Ip to location via a database
  • Amazon S3 integration - Use bandwidth from Amazon.
  • No Access URL - When a user does not have access you can send them to a URL which is better. A fail example is shown below:
    This software is a commercial product and cannot be downloaded directly. The only way to download it is either through your QuantumWarp account or automatically by Joomla! updates with a correctly configured and valid license code in the extension's configuration.

Notes

General

Enviroment Tags

  • If you do not have a Jooma Environment Tag set for an item then the XML stream will not work correctly. The item will be missing from the stream. Information found here Update Screams. In paticular it is the word Joomla in the following example that is the control Joomla/3.0.
  • If you look in ARS code the Environment Tag is used for display control for the various streams. Search for = 'joomla' to find the locations. It is
  • the PHP Tag is the other special case. This is used to set, if found, specific tags in the update stream i.e. <ars-phpcompat version="7.3"/> which are used for the FOF (Akeeba Framework of Frameworks) built into Joomla to determine as to wether that Joomla Servers PHP version is suitable for the update.
Published in Extensions
Page 11 of 96