stSoftware
12 Beaconsfield St | Newport, New South Wales 2106 | 1300 78 73 78

stSoftware blog


How to place the unsubscribe link in an email?
11 Aug 2013

${unsubscribe.Click Here} will add the link to unsubscribe the newsletter. "Click Here" is the link text

Read More

Easy tools to master email marketing!
10 Aug 2013

Remember the most important goal with emails is that they are opened Whether you are composing an email to one person or designing an email campaign to 1000's of recipients using the Email module, you should follow a few simple pointers to increase your Open and Read statistics; Your recipients are more likely to open an email when they recognise the sender, so make sure your sender address clearly identifies where you are from. A clear and honest subject line will illicit a better initial response...

Read More

What to do when you get an email warning about "variable is deprecated"
9 Aug 2013

You may have seen email warnings about "variable is deprecated". The system has been updated to warn if an email variable or bit of code which is 'deprecated' or out of date. (I had to look up what that meant! - see https://en.wikipedia.org/wiki/Deprecation). What do you do? You can click Continue to send the emails and it will be fine. To stop seeing the warning we just need you to update your email template to the new formats for email variables. For example $recipient.firstname,Sir/Madam$ it ...

Read More

Validation of page URLs
8 Aug 2013

Search engines treat hyphens '-' and underscores '_' differently from one another. Google has clearly stated that when it comes to URL structure, using hyphens rather than underscores makes it much easier for them to identify what the page is about. Take a look at an excerpt below from the Google support blog on URL structure. See more at:- https://support.google.com/webmasters/answer/76329?hl=en http://www.youtube.com/watch?feature=player_embedded&v=Q3SFVfDIS5k

Read More

How to link my JobTrack calendar with my calendar on Google, Apple iCal or Outlook?
7 Aug 2013

View JobTrack dates on iCalendar Applications Task & Event dates / Sales Opp & Quote timings / Job milestones & deadlines Use JobTrack's iCal button to easily view your time critical sales dates & job schedules on Google Calendar, Apple iCal or Microsoft Outlook. The new iCal button makes it so easy to integrate your JobTrack data with iCalendar* applications like Google Calendar. This means you can view time critical database information conveniently on your preferred on-line calendar application...

Read More

How to configure websense to use JobTrack
7 Aug 2013

Incidences of "Invalid HTTP request" have been seen when the websense proxy server is used. The proxy server must be configured to allow all SSL traffic to the server.

Read More

Java Code to validate email addresses
30 Jul 2013

com/aspc/remote/util/net/EmailUtil.java public final class EmailUtil { /** * http://www.regular-expressions.info/email.html */ @RegEx private static final Pattern EMAIL_PATTERN = Pattern.compile( "^[A-Z0-9._%+\\-#']+@[A-Z0-9.-]+\\.(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)$", Pattern.CASE_INSENSITIVE); /** * Validate an email address. * * @param email the email to validate. * @param hostCache OPTIONAL cache of host names * @throws InvalidDataException details of the issue found. */ public static void validate(final String email, final Map hostCache) throws InvalidDataException { String invalidStrings[] = { "..", ".@" }; for (String illegal : invalidStrings) { if (email.contains(illegal)) { throw new InvalidDataException("email " + email + " may not contain '" + illegal + "'"); } } Matcher m = EMAIL_PATTERN.matcher(email.trim()); if (m.matches() == false) { throw new InvalidDataException(email + " invalid email"); } String[] split = email.split("@"); if (split.length != 2) { throw new InvalidDataException("no @ symbol"); } String tmpHost = split[1]; String message = checkMX(tmpHost, null); if (message != null) { throw new InvalidDataException(message); } } /** * check the MX record * * @param hostName host to check * @param hostCache OPTIONAL cache of host names * @return message if NOT valid otherwise NULL */ public static String checkMX(final String hostName, final Map hostCache) { String message = null; if (hostCache != null) { message = hostCache.get(hostName); } if (message == null) { @SuppressWarnings("UseOfObsoleteCollectionType") Hashtable env = new Hashtable(); env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory"); try { DirContext ictx = new InitialDirContext(env); Attributes attrs = ictx.getAttributes(hostName, new String[] { "MX" }); Attribute attr = attrs.get("MX"); if (attr == null) { message = "no MX record for " + hostName; } else if (attr.size() > 0) { message = ""; } else { message = "no MX record for " + hostName; } } catch (NamingException e) { message = e.getMessage(); } if (hostCache != null) { hostCache.put(hostName, message); } } if (message == null || message.isEmpty()) { return null; } return message; } }

Read More

Website content - why fresh is best
30 Jul 2013

Websites should be fresh - always up to date The key ingredient for making an engaging site is relevant content which gives answers & insights for your targeted audience. Business and society leaders recognise that an engaging website will generate sales or better service their members and are willing to invest time and resources in the creation of a new site. An engaging website generates new sales and great customer service. Business and society leaders recognize this, and invest time and resources...

Read More

Block hack attempts from all foreign & unknown locations.
25 Jul 2013

The file /etc/hosts.deny on Unix/Linux can block login attempts based on counties. The below is a simple host.deny file to block all countries but your own ( in my case Australia), sure this is not the whole answer to securing a system but it sure cuts down the number of hack attempts. sudo vi /etc/hosts.allow # # hosts.deny This file describes the names of the hosts which are # *not* allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # # We will block *all* the...

Read More

Does renaming a page's path automatically redirect from the old page path?
19 Jul 2013

Pages can have any number of aliases. When a page's path is renamed the system will automatically add an alias from the page's previous path to the current page. This prevents 404 errors which are a well known cause of user frustration and lower SEO rankings. When a user requests a URL first a matching page is searched then the page aliases are searched, if a matching page alias is found then that page is used. There are NO 301/302 errors returned there is just many paths to the same page.

Read More

Can different sites be created for different host names?
19 Jul 2013

To make a site the default for a domain or set of domain names a comma separated list of host name patterns is entered. The default site is calculated to be the first PUBLISHED site with a matching host name pattern, if no matching sites then the first site will a blank host name list. The domain name registry itself must be done as normal to point to the system with providers such as goDaddy or Netregistry

Read More

Support for Questionnaires
18 Jul 2013

A sample questionnaire :- http://polls.stsoftware.com.au/site/climate/ To create a questionnaire:- List of questions:- Create a new question:- List of choices:- Resulting sample survey:-

Read More

Handlebar (mustache) support in stSoftware's CMS
2 Jun 2013

A quick demonstration of the Handlebar (mustache) support in stSoftware's CMS. https://github.com/jknack/handlebars.java

Read More

Article creation, editing and publishing
24 May 2013

Overview: Article creation couldn't be easier with stsoftware, our system allows you to create your articles on-site and takes care of the formating for you so all you have to be concerned with is the content of your website. The system has built-in checks and balances making quality control easy, all changes made to an article can be seen and reverted if need be and any new content can be put up for review without being published. Top left sections: There are 4 quick filters and a keyword search...

Read More

Page META description
13 May 2013

The HTML META tag "description" allows you to influence how your web pages are described and displayed in search results. A good description acts as a potential organic advertisement and encourages the viewer to click through to your site. A page META description should be short. The description in the tag should to be between 25 and 160 characters in length. A tag which is too long will be displayed truncated and can be seen as spam by search engines. The optimal...

Read More

WYSIWYG Content Editing that provides varying levels of WYSIWYG editing control depending upon the complexity of editing requirements?
10 May 2013

When in CMS design mode, when the designer mouses over a component an EDIT button is shown for 5 seconds. A orange dotted line will outline the component that will be edited. Editing a breadcrumb component:- Editing a text component:- Editing a HTML component:-

Read More

How to use variables with CMS components
7 May 2013

Variables can be used with CMS components to reduce duplication and easy maintenance Below is an example of using variables in an ActiveHTML component. Types of Variables:- 1.Site Config XPath Variable This variable uses xpath statement to fetch values from the site configuration xml. Below is an example of site configuration XML that should be used for site scope. 2.Page Config XPath Expression This variable uses xpath statement to fetch values from the page configuration XML. It looks and behaves...

Read More

stSoftware's Franchise Cloud Systems
23 Apr 2013

Cloud Systems Enhance Franchisee Management and Operations Looking for a cloud platform? So you can provide centralized franchise services, like call centres and stock ordering, whilst maintaining franchisee data privacy and web presence? stSoftware's cloud based Franchise systems provide the perfect solution. Manage an unlimited number of franchisees, provide operational and website facilities, and offer centralized services,with a truly global cloud franchise system. Yes, the cloud is the perfect...

Read More

Block the use of "remember me" logins for users outside your trusted zones
18 Apr 2013

Go to: Admin > Setting > Passwords, and set the trusted zone field with your trusted IPs/HOSTs. In this example:- Only the IPs/Hosts '192.168.7.*, localhost, 127.0.0.1' are allowed to have rember me option, except the IP "192.168.6.3".

Read More

The selection of contact categories is easier and simpler than before.
18 Apr 2013

New enhancement was added to select contact categories and group by parent category. Before: Click on 'Add' categories used to open a new screen to select the wanted category. Now: Categories are ready to be selected and can be grouped. How to setup contact categories group

Read More