Checking Version

From ViciWiki
Revision as of 20:31, 7 May 2021 by Bill (talk | contribs) (Database Structure Version (aka: DB Schema))

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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