Checking Version
Note that Vicidial's "version" can be stated as the Admin page version, the Agent page version, the SVN Revision level, The DB Schema or even the Installer version. We'll cover ALL these and discuss how they are related.
Vicidial Version
Admin
- Simplest Method: Bottom left corner of most Admin pages. Be sure to include the Build, which is 10 digits with a dash.
- It also appears that the first six digits of the Build is actually a date.
- CLI Version:
grep 'admin_version =' /srv/www/htdocs/vicidial/admin.php -n -A 1
Sample Result
4334:$admin_version = '2.14-665a'; 4335-$build = '180316-0751';
Agent
- Simplest Method: Bottom left corner of the agent login page. Be sure to include the Build ;which is 10 digits with a dash.
- CLI Version:
grep '$version =' /srv/www/htdocs/agc/vicidial.php -n -A 1
Sample Result
592:$version = '2.14-557c'; 593-$build = '180314-2222';
Why are the Admin and Agent versions different?
- No: It's not a bad install or broken.
Pages get a new version number when they have a change. In this case, it's apparent that the Agent web page (vicidial.php) has not been modified since 2.14-557c build 180314-2222 while the admin.php page has been updated more recently.
SVN Revision
SVN Repository
svn info /usr/src/astguiclient/trunk
Sample Result
Path: /usr/src/astguiclient/trunk Working Copy Root Path: /usr/src/astguiclient/trunk URL: svn://svn.eflo.net/agc_2-X/trunk Relative URL: ^/agc_2-X/trunk Repository Root: svn://svn.eflo.net Repository UUID: 3d104415-ff17-0410-8863-d5cf3c621b8a Revision: 2946 Node Kind: directory Schedule: normal Last Changed Author: mattf Last Changed Rev: 2946 Last Changed Date: 2018-03-21 08:25:15 -0400 (Wed, 21 Mar 2018)
Vicidial Expected SVN Revision
Admin -> System Settings (Line Two)
Note: The table "system_settings" contains TWO fields for this. In our sample server:
- svn_version: Contains the SVN Revision Level from the installation moment. Likely from the Vicibox installer.
- svn_revision: Contains the present SVN Revision Level. This would appear to be from the "install.pl" script which is used during upgrades.
- svn_revision is visible in Admin->System Settings. svn_version is not.
SVN and Vicidial Version Relationshp
While the Vicidial Version with Build from the admin.php and vicidial.php pages do represent the "running code", matching an existing installation requires a bit more finesse.
The SVN revision level (2946 in the above example) represents a snapshot of ALL the files necessary to install Vicidial. So the SVN Revision from /usr/src/astguiclient/trunk is all you need, right? Not so fast. What if someone updated the SVN Revision level after the installation? Or already performed a restore from a backup set and thus the SVN Repository files are not actually the same as the Live files. In either case, it's never a bad idea to check to see if the Live files match the SVN Repository files.
Check SVN vs Live Vicidial Files
diff /srv/www/htdocs/vicidial/admin.php /usr/src/astguiclient/trunk/www/vicidial/admin.php
If these two files are the same, there will be no output, and the SVN Repository file you just checked is identical to the Live file on the server. In most cases, that means you are using all the same files in the Live Vicidial server as those in the Repository and your SVN Revision level represents the version of ALL files in use.
Database Structure Version (aka: DB Schema)
Scripts in Vicidial manage by use of the Database. Most access their data by field number (not name), thus the structure of the Vicidial database is important. Especially since most data is Stored by name (but accessed by number ...).
Modifying that structure in any way (even by adding a field) is not recommended. Even just adding a field means that the next upgrade could have a collision with that field (being in the way of a new field expected to be in that position) and now the system will crash when the wrong data is present in that field.
Adding new tables is fairly safe: As long as the table name does not have "vicidial_" as a prefix.
Vicidial Expected DB Schema
Vicidial Configuration File
cat /etc/astguiclient.conf | grep schema -i
Vicidial Admin System Settings
Admin->System Settings (Third Line)
Latest SQL upgrade file
if and only if you have confirmed that the SVN Repository matches your running code.
- Assumes 2.14 is the latest.
- Eventually this will be wrong.
tail /usr/src/astguiclient/trunk/extras/upgrade_2.14.sql
ViciBox Version
ViciBox is the Installer for ViciDIAL. ViciBox will try to install the latest version of ViciDIAL available at the time of the installation. This also applies to older ViciBox install disks: They will (as a rule) try to install the most recent version of ViciDIAL even though they are old disks. This means that if you install ViciDIAL with ViciBox 6.0.2 today or with Vicibox 8.1.2 today, you will still get the same version of ViciDIAL and it will look, feel, and run the same. Of course, it will install an older version of Asterisk which does not support the ViciPhone (a Valid concern if you want to use ViciPhone) and the old Operating System from ViciBox 6.0.2 is no longer supported: So no linux package updates are available. But that merely means "no updates!", not "Vicidial will fail".
cat /etc/motd
Sample Response
Thank you for installing ViciBox Server v.7.0! This software is available for free download at http://www.vicibox.com. If you paid for this software you have been ripped off. Please report any fraud or abuses of this software to [email protected] Please report any bugs on the forum at http://www.vicidial.org To configure the LAN settings type: yast lan To change the server IP in the database type: /usr/share/astguiclient/ADMIN_update_server_ip.pl Official paid-for ViciDial support is available at http://www.vicidial.com Free community-based ViciDial Support is available at http://www.vicidial.org/VICIDIALforum -- ViciBox v.7.0.3-160505
Different version of the Vicibox Installer store their version information in different manners, but it's almost always contained in this "Message of the Day" file.
Another file which may have ... useful information is the install log.
cat /var/log/vicibox.log
This file may have some dates (for downloads) which may be useful in determining the installer version or "what happened" during the installation. It should also have the SVN Revision level from the install date. Of course, upgrades could have occurred since then.
FAQ
Am I Running The Latest Version?
- Short Answer: NO.
- Long Answer: The Vicidial Group is constantly updating/upgrading/improving Vicidial. If you installed more than 24 hours ago, it's unlikely you're using the latest version. The question, then, is "do you care"? Have a look at the ChangeLog!
- Detailed Answer:
svn status --show-updates
- This will show all files being updated, along with their Present SVN Revision Level.
- At the end, it will show the latest Revision.
Where's the Changelog?
- Many files have their own change logs.
head -50 /usr/share/astguiclient/ADMIN_keepalive_ALL.pl
- SVN contains the commit comments
cd /usr/src/astguiclient/trunk; svn log | head -50