Safer SC Version Updating Procedure - an FYI from a long-time SC user

Hi everyone,
Seeing the havoc that SC IDE version 9.2.008 is causing I am not going to update to it right now - until the bugs are fixed by SC and a new version comes out. Thank you all who quickly posted your bugs. It would have been a disaster for me right now with multiple deadlines at work to have caused those type of issues with grids and searches, etc. That is why I read this forum and participate in our community :slight_smile:

The following is a way that I work for the most part - it is an FYI and might get some of the newer developers using SC thinking. This might be a better way for all of us users to update our SC IDE versions. Here is what I am thinking:

  1. Before any updating is done, do a full backup using the SC - Options - Settings - Backup. Name the backup file starting with something like FULL_before_sc92008_ , then Download this ZIP to a standard folder on a system external to your development laptop or server. (note the zips already are automatically given a datetime stamp I believe).

  2. Open each active important project – Application - Export Applications . Name the zip file with PRJ_xyz_before_sc92008_ , then Download again to external system.

  3. From a SSH shell / terminal / or windows file explorer – copy the root folder and all its contents from Scriptcase92 or whatever you call your IDE install, to a copy folder call something like SCIDE_before_sc92008_on_mmddyyyy . You could even zip or compress in another way. This should, from my understanding, copy the whole SC IDE , the sqllite db that holds all the apps and other SC settings and project, and all folders and files with anything else important. This could be your restore in case the new version is bad. Safest would be to also SFTP or copy this folder off your system.

  4. On a very active project I will also do a deploy to ZIP (I normally do a deploy using SFTP). The zip will get a similar name to the above and I keep that off system as a deployment backup…just in case.

The reason I do this is I am paranoid about losing all my work.
– #1 is time consuming but works well IF YOU HAVE LOTS OF RAM. It is a ‘self contained backup’.
– #2 has never failed for me, so I trust it more. It is concentrated on the apps and I believe does not get some of the SC things that are not as useful. I have used these application bcakups when switching to major versions of SC, like 8 to 9 , etc.
– #3 is a larger pain to do as it is not built into SC, BUT it gives you a snapshot of your web-based SC IDE install, with everything. This should also give you a quicker way or falling back to a previous SC version of the IDE and your projects, as you just copy this back to your internal webserver root and it should work (I don;t even think the license would need renewing or anything).

Misc notes:
– I almost always work on the SC IDE on a webserver, not on my local laptop or PC - I consider it my DEV system. . I do that to increase my confidence that all will work on TEST and PRODUCTION version, as there is little chance that server and PHP versions and configurations between laptop and server deployments will cause issues/bugs for users. This has worked for me for 5 years.
– Plus, the server gets backed up , along with file system and databases, so that acts as a backup of sorts too. I would hate to lose all my SC work because a laptop HD dies or gets stolen or burns in a fire, etc. Try to think ahead with ‘unlikely’ disaster modes.
– Database backups (MYSQL) are a whole different topic and I won’t go into it here, except to say think ahead on DB changes and how to control that workflow too.

I hope that this gives some of you ideas that you might be able to adapt to your work pattern. I really love use SC, but it does have its quirks. The weakest link is the upgrade to new versions, as the company does great work but does not seem to have an extensive alpha testing system - and I am not aware of any beta testing using a core of dedicated users.

I wish you all well,
Jamie

PS If you have other ideas or suggestions or corrections to the above - I am always open to new way and changes :). Please add to this thread.

This is very good advice. Wish I would have done this before I upgraded.

I see that you are running SC on a web server. Are you running suPHP on it? I run mine on a suPHP sever and always have huge headaches with permissions. SC seems to want to set folders to 777 which will not work on suPHP. It is simple enough to change all files in the SC directory to 644 and all folders to 755, but there are some executable files (not *.php files) in the core of SC that have to be set to 755 to run. Would you have a list of these files? I know I have to set prod/third/wkhtmltopdf/linux-amd64/wkhtmltopdf-amd64 to 755 for example. Not sure if other files need to have executable permissions or not.

Thanks in advance.

I keep it more simple, I just do a full binary backup of the scriptcase folder. It contains the sqlite database as all your project stuff as well. Creating backups of your projects from the backup function of scriptcase is a good idea anyhow, and I do that every time I have been making updates. But to prevent a deadly situation when a new version is loaded with bugs and you cannot move on, you can always turn back to your old binary backup.

The permissions thing is a permanent headache that NetMake is unlikely to correct. They’d have to hire someone who “does linux” for an hour but that costs money. I deal with it via:

chown -R daemon:daemon /opt/NetMake
sudo find /opt/NetMake -type d -exec chmod 750 {} ;
sudo find /opt/NetMake -type f -exec chmod 640 {} ;
sudo find /opt/NetMake -name *.so -exec chmod 750 {} ;

I never have a problem with permissions, other than that they’re wrong after install. The assumption here is that users in the daemon group shouldn’t be allowed to change anything, but they can at least read and execute.

Hi guys,
I too have had my share of permission issues over the years. My latest struggle after moving my development environment to a super fantastic dedicated hardware server with 32 cores and 32 GB, I had weird issues with permissions that I could not solve. I finally figured out that the new control panel had ModSecurity? rules. It is really cool and I am glad it is available, but OMG I must have wasted days trying to fix permission when it was actually several ModSecurity? rules that SC IDE was tripping up. Luckily I was able to add some white list rules 210730 and 218530 and SC started running great. I add this just in case you run Cpanel on your server and this is active for you.

I do not run suPHP. You must be on a shared host? I did that for years, but used Webfaction - they are the #1 friendliest to any type of developer in PHP and similar stuff and it is like $10 a month or something. I still keep 2 accounts with them. But I moved my production to Hivelocity which has no virtual, all dedicated bare metal servers. A 32 core machine really is a joy to work from, and it can run several large scale systems plus SC IDE with almost not load :slight_smile:

It also was the only way I could get my 8.X SC projects to convert to 9.X. The converters were faulting and it must have been the RAM. My projects have 250 - 300 apps in each, so anything like that was pushing the limits of my other SC installs.

To be honest, I have been working for past months on a dev version of my main project that I converted both to SC9 AND to PHP7 at same time - and I am almost ready to switch users to it. I am not updating to SCRIPTCASE V9.2.008 until the number of bugs reported goes back down. I can’t tell if it would mess me up, but I can’t afford any new bugs induced at this point.

Does it seem like an unusual number of ‘bugs’ right now?

Hi,
In the same way, I got used to getting my lookup functions and definitions in: / scriptcase / devel / conf / grp / “your project” / lib
and in: / scriptcase / devel / conf / grp / “your project” / lookup_def "