Squiz Matrix Multiple File Upload jQuery Plugin

Sick and tired of only being able to upload 1 file at a time using an Asset Builder in Squiz Matrix? With this plugin, you get Facebook style multiple file upload capabilities!

Upload

Upload Files

  • jquery.matrixMultiFileUpload.js
  • swfupload.swf
  • upload.png (Or your own upload button image)

Create Assets

  • Create a Standard Page asset
  • Create an Asset Builder
  • Configure asset builder to create your file type and set the create location to where ever you want the files uploaded. (This can also be dynamic)
  • Make the Asset Builder Live and give it Public Read permissions. (You can use the logged in body copy to prevent the public from using the asset builder)
  • Add <div id="created">%created_asset_url%</div> to the Created bodycopy of the Asset Builder.

Standard Page

Make sure to use script tags for jQuery and jquery.matrixMultiFileUpload.js and then insert the matrixMultiFileUpload function:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script src="path/to/jquery.matrixMultiFileUpload.js"></script>
<script type="text/javascript">
$(function(){

    // Add the uploader
    $('#upload').matrixMultiFileUpload({
        assetBuilderId:     '103593',// Asset ID of the Asset Builder that will create the file
        assetBuilderUrl:    '%globals_asset_url:103593%',// Asset Builder URL
        swfUrl:             '%globals_asset_url:103611%',// URL to SWFUpload file
        buttonImageUrl:     '%globals_asset_url:56731%'// URL to the upload button image
        assetType:          'pdf_file'// Optional parameter for file type, defaults to image
    });

});
</script>
<div id="upload"></div>

Preview

Preview the Standard Page and you should see the upload button. Click this and then you can select multiple files (holding down shift) and upload them!

 Download files from Github

Squiz Matrix PHP Documentation

3 months ago by Nicholas Hubbard in #PHP #Squiz Matrix

If you have ever been curious (like me) about what goes into making a product like Squiz Matrix, then you might be curious to know that every PHP class, function, etc is documented with code comments which can then be generated into documentation using a great tool called Doxygen.

Squiz Matrix Documentation

It is very interesting to see deeper into how Squiz Matrix is structured, how inheritance works and what makes up different assets. Take a look at the core, packages and fudge for the real interesting bits!

Squiz Matrix 4.12.2 code documentation  

Squiz Matrix App 1.0 is Live!

4 months ago by Nicholas Hubbard

EMS Tracker

Squiz Matrix App has finally been approved and is for sale in the app store!

With it you can, Browse the Native Asset Map, Create and Edit Assets on the Go, Upload Local Files, Configure Multiple Servers, Edit Attributes and Asset Metadata, View System Logs and so much more right from your iPhone, iPod Touch or iPad!

There are plenty of planned features for the future including:

  • WYSIWYG Editor
  • Workflow Screen
  • Designs Screen
  • Lookup Settings Screen
  • So much more!!

Requirements:

  • Squiz Matrix 3.28.0
  • Backend User or higher user access

Please contact support with any and all questions.

EMS Tracker

Squiz Matrix App Has Been Submitted to Apple for Review!

Squiz Matrix app for iOS has finally been submitted to Apple for approval! It has been a long time coming, but it was finally time to finish up last minute fixes and get it off before Apple's holiday shutdown. So, we are really hoping that it is approved before this happens.

Wish us luck!

EMS Tracker - Our Newst iOS App

5 months ago by Nicholas Hubbard in #Objective-C #iOS

Our newest iOS app, EMS Tracker has been approved and is for sale in the app store!

EMS Tracker

EMS Tracker is a time and distance tracker for Emergency Services. If you are tired of manually tracking your mileage and time, you can let EMS Tracker take care of this for you.

EMS Tracker has the following features:

  • Start a call and log key events: Dispatched, Enroute, Stopped, On Scene and Destination.
  • Display and log of Speed and Distance
  • History to review all past calls
  • Proximity detection for automatically alerting the user at saved Destinations
  • Customizable settings to fine-tune your control

EMS Tracker

Signup to hear when Squiz Matrix iOS App is Released!

  • Squiz Matrix App Website

Interested in getting your hands on Squiz Matrix for iOS? Get ready to Browse the Native Asset Map, Create and Edit Assets on the Go, use the Built-in WYSIWYG Editor, Upload Local Files, Configure Multiple Servers, View System Logs, and so much more, all on your iPhone or iPad.

Head on over to www.squizmatrixapp.com to signup!

Install Squiz Matrix in 10 minutes on Debian 6.0

9 months ago by Nicholas Hubbard in #Squiz Matrix

If you have ever been confused or overwhelmed by the thought of installing Squiz Matrix, worry no more. Use this simple guide and you will have Matrix up and running in 10 minutes.

Hosting: Linode
OS: Debian 6.0 using root user
Matrix: 4.10.0

Install the Essentals

// Update and install needed packages
apt-get update
apt-get install apache2 postgresql-8.4 php5 php5-cli php5-pgsql php-pear php5-curl php5-ldap php5-gd postfix cvs curl vim postfix

PEAR

// Update and install PEAR packages
pear upgrade PEAR
pear install MDB2 Mail Mail_Mime XML_HTMLSax XML_Parser Text_Diff HTTP_Client Net_URL I18N_UnicodeNormalizer Mail_mimeDecode Mail_Queue HTTP_Request Image_Graph-0.8.0 Image_Color Image_Canvas-0.3.4 Numbers_Roman Numbers_Words-0.16.4 pear/MDB2#pgsql

Install Matrix

// Create Folder to hold Matrix
mkdir /home/websites
cd /home/websites
// Checkout and install Matrix
curl -O http://public-cvs.squiz.net/cgi-bin/viewvc.cgi/mysource_matrix/scripts/dev/checkout.sh?view=co
mv checkout.sh\?view\=co checkout.sh
sh checkout.sh mysource_4-10-0

Database

// Edit Postgres config
vim /etc/postgresql/8.4/main/pg_hba.conf
// Use trust for both
# Database administrative login by UNIX sockets
local all postgres trust
# "local" is for Unix domain socket connections only
local all all trust
// Restart Postgres
/etc/init.d/postgresql restart
// Create users and DB
createuser -SRDU postgres matrix
createuser -SRDU postgres matrix_secondary
createdb -U postgres -O matrix -E UTF8 squiz_matrix
createlang -U postgres plpgsql squiz_matrix

Init Matrix

// Init the main config
cd /home/websites/squiz_matrix
php install/step_01.php /home/websites/squiz_matrix
// Edit the main config file
vim data/private/conf/main.inc
// The following configuration settings need to be completed as a minimum
SQ_CONF_SYSTEM_ROOT_URLS
SQ_CONF_DEFAULT_EMAIL
SQ_CONF_TECH_EMAIL
// Edit Database file
vim data/private/conf/db.inc
// Update the PHP array
$db_conf = array (
       'db' => array (
          'DSN' => 'pgsql:dbname=squiz_matrix',
          'user' => 'matrix',
          'password' => '',
          'type' => 'pgsql',
          ),
       'db2' => array (
          'DSN' => 'pgsql:dbname=squiz_matrix',
          'user' => 'matrix',
          'password' => '',
          'type' => 'pgsql',
          ),
       'db3' => array (
          'DSN' => 'pgsql:dbname=squiz_matrix',
          'user' => 'matrix_secondary',
          'password' => '',
          'type' => 'pgsql',
          ),
       'dbcache' => NULL,
       'dbsearch' => NULL,
       );

return $db_conf;

// Init database schema
php install/step_02.php /home/websites/squiz_matrix
// Install core asset types
php install/compile_locale.php /home/websites/squiz_matrix
php install/step_03.php /home/websites/squiz_matrix
php install/compile_locale.php /home/websites/squiz_matrix

Fix Permissions

chmod -R 755 /home/websites/squiz_matrix
cd /home/websites/squiz_matrix
chown -R www-data:www-data data cache
chmod -R g+w data cache

Apache

// Edit apache virtual hosts file
vim /etc/apache2/sites-enabled/000-default

<VirtualHost *:80>
ServerName server.example.com
DocumentRoot /home/websites/squiz_matrix/core/web

Options -Indexes FollowSymLinks

<Directory /home/websites/squiz_matrix>
Order deny,allow
Deny from all
</Directory>
<DirectoryMatch "^/home/websites/squiz_matrix/(core/(web|lib)|data/public|fudge)">
Order allow,deny
Allow from all
</DirectoryMatch>
<DirectoryMatch "^/home/websites/squiz_matrix/data/public/assets">
php_flag engine off
</DirectoryMatch>

<FilesMatch "\.inc$">
Order allow,deny
Deny from all
</FilesMatch>
<LocationMatch "/(CVS|\.FFV)/">
Order allow,deny
Deny from all
</LocationMatch>

Alias /__fudge /home/websites/squiz_matrix/fudge
Alias /__data /home/websites/squiz_matrix/data/public
Alias /__lib /home/websites/squiz_matrix/core/lib
Alias / /home/websites/squiz_matrix/core/web/index.php/
</VirtualHost>

// Restart apache
/etc/init.d/apache2 restart

Cron Setup

// Edit apache user cron file
crontab -u www-data -e
// Add cron jobs
*/15 * * * * php /home/websites/squiz_matrix/core/cron/run.php
0 0 * * * /home/websites/squiz_matrix/scripts/session_cleanup.sh /home/websites/squiz_matrix
*/15 * * * * php /home/websites/squiz_matrix/packages/bulkmail/scripts/run.php

Login to Matrix

Now login to Matrix using root for the username and password.

The Home Stretch: Squiz Matrix iOS Coming this Fall

  • Listing

Look forward to a August release date, right in time for the 2012 Squiz and Funnelback International User Conference!

Top Features

Universal iPhone and iPad App

When I started building the Squiz Matrix iOS app, I knew that it had to be for iPhone and iPad. I hated when developers would charge more for the iPad version. You won't get that here. Squiz Matrix iOS will be released as a Universal app for iOS 5.0 and above.

Configure Multiple Matrix Servers

If you have multiple servers that you manage, and multiple installs of Matrix, you can easily add an unlimited number of server configurations and quickly switch between them.

  • Multiple Sites

Secure Account Management

Your account details are safe and secure. We use the standard iOS Keychain for storing of passwords so they are securely saved just like they would be in any of Apple's apps.

  • Authentication

Browse the Asset Map

The best feature of the app. This was what caused the inception of the app. I wanted a way to browse my Squiz Matrix sites from my iPhone. But, because the asset map was in Java, I wasn't able to. Now you can!

  • Asset Map

Create Assets on the Go

If you have a gallery on your website and you need to add a new photo, just snap one with your phone and upload it on the go. Simple and easy. You can also create most other asset types.

  • Create

Upload Local Files as Assets

Besides uploading photos and videos from your camera roll you can also import any number of file types into the app for uploading to your Matrix site. If someone emails you a PDF or sends you a Word doc, all you have to do is choose to open it in Squiz Matrix iOS and it will show up in the Imports tab, ready to be created as an asset.

  • Files

Quick Search

If you want to search for an asset by ID or URL it will return results just like the _admin search does.

  • search

WYSIWYG Editor

If you edit an asset with a WYSIWYG content type such as a News Item you are presented with a beautiful editor that is full featured and has great code formatting built-in.

  • Editor

View Matrix Logs

Another great feature is the ability to view logs. Error, Search, Cron Errors, Asset Cache, Bulkmail Errors, etc can all be viewed within the app.

  • Logs

Preview Assets

When you are on the go you want to see what your assets look like. Need to preview an Asset Listing?  No problem.  Need to view the image or Word doc that an editor added, we can do that too.

  • Nic

Edit Assets on the Go 

Of course the most needed feature is to edit the assets themselves. From changing status, attributes and metadata, these features are the core of Squiz Matrix iOS.

** Workflow will be added in a future version **

More Information

For more information about Squiz Matrix for iOS visit http://www.squizmatrixapp.com or get ahold me me on Twitter @zedsaid or Contact Us.

What is in an App Name: The change from Tripometer to Odometer+

11 months ago by Nicholas Hubbard

Recently we made the decision to change the name of one of our apps, Tripometer. The reason for the change was to make the name more recognizable when users were searching in the App Store. The new name was Odometer+.

In order to change the name of an app, we are required to submit an app update. Along with the changed name we needed to add some extra features to warrant the "+" naming. We added a history view so that users could see their past trips, as well as a new landscape mode.

We also made sure to localize our app name and description for all available languages which is key in getting market share across the world.

Rankings

We have been thrilled with the success so far! Currently we are ranking #19 in the US Paid Navigation category, which is out of 5586 apps. We are also ranking in the Top 30 for Navigation in a total of 7 countries and ranked in the Top 400 in a total of 23 countries.

  • Listing

After changing the name over 2 weeks ago, our sales have risen over 10,000% and we are finally getting international sales.

Names Are Important

The single most important keyword for your app is the app name. If you are not a big name company that can put marketing dollars into pushing a cool name like Instagram, then you might be better off naming your app "Photo Share & Edit". We have seen direct proof of the app name importance and will be sure to use this for future apps.

Just be sure that you don't squat app names as this is against the developer agreement that you signed.

 

Can't wait to get back to creating some more cool apps! Stay tuned...

Squiz Matrix Asset Listing Last Position Custom Formatting

1 year ago by Nicholas Hubbard

Have you ever had an Asset Listing and wanted to customize the layout of the very last item listed? Here is a tip that is probably hidden deep in the Squiz Matrix Manuals, but all you have to do is use -1 as the position format.

  • Listing

By setting -1 as the position, it creates a new Bodycopy asset that can be used to format the very last asset listed. This can be super helpful for many things such as creating valid JSON by removing th comma at the end or giving the last item a different class.