webERP Forum
SVN on Linux Mint: A "How to keep webERP bug fixed and updated" - Printable Version

+- webERP Forum (http://www.weberp.org/forum)
+-- Forum: webERP Discussion (http://www.weberp.org/forum/forumdisplay.php?fid=1)
+--- Forum: How To ? (http://www.weberp.org/forum/forumdisplay.php?fid=6)
+--- Thread: SVN on Linux Mint: A "How to keep webERP bug fixed and updated" (/showthread.php?tid=916)



SVN on Linux Mint: A "How to keep webERP bug fixed and updated" - MacPhotoBiker - 06-02-2013

Hi,

I'd like to open a thread where we can discuss and share experiences how to keep webERP updated via SVN.

The topic is rather new to me, so I'd like to share my newbie experiences, maybe this can help others, too.

I'm running webERP on a VPS server on CentOS 6, on my local laptop I'm running Linux Mint 15.

1) First things first: Installing SVN
Simple instructions for different Linux distros: http://subversion.apache.org/packages.html

For Linux Mint:
$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn

2) Basic Workflow
A good intro on YouTube: http://www.youtube.com/watch?NR=1&feature=endscreen&v=7mhN9C3C-2I

If you are in a rush, jump to 8:08 (Basic Workflow)

Basically it boils down to this:
- Create a folder where you want to get your webERP files from SVN. In my case, I put "webERP_svn" on my desktop.

Now the real deal starts, and I want to get the most current files

- In a terminal console, cd to this folder
- [link updated 2014/01/16] Command: svn checkout svn checkout http://svn.code.sf.net/p/web-erp/code/trunk

This downloaded a lot of files (I guess all of them) to my folder, but now I start having a couple of questions:

1) Am I using the correct link to the webERP Repository?
(https://web-erp.svn.sourceforge.net/svnroot/web-erp/branches/stable/)

2) In order to keep my working installation up do date, could I use the webERP installation folder on my server directly and have the files updated automatically via "svn checkout"?

3) Or is it a better approach to make a local copy, and only replace file by file?

4) What happens when the next release (currently 4.10.1) is published? Could I then just update to the latest release (which I believe makes sense for consistency reasons).

Sorry for all these questions, but I'm trying to keep not only my own installation up to date, but several customer installations (on my server), too.

I hope this thread might also become useful for newbies "newer" than me Wink


RE: SVN on Linux Mint: A "How to" - Exsonqu_Qu - 06-02-2013

Hi,

Since there is no stable version maintained now, it's not suitable to update automatically via SVN.

Thanks and best regards!

Exson


RE: SVN on Linux Mint: A "How to" - MacPhotoBiker - 06-03-2013

(06-02-2013, 05:57 PM)Exsonqu_Qu Wrote: Since there is no stable version maintained now, it's not suitable to update automatically via SVN.

Hi Exson,

thank you very much for your advice, you are certainly right that it's not a good idea to update a productive installation automatically.

My idea behind this thread is to find the most appropriate updating strategy. I recently reported two "bugs" here on the forum, but then other users told me that those had been fixed already. Obiously I don't want to "revive" bugs that were fixed already, so I'm looking for a better approach.

Yesterday Tim kindly informed me that there is a Mailing List available that informs about bug fixes:

https://lists.sourceforge.net/lists/listinfo/web-erp-svn

I didn't try it yet, but I will subscribe, and keep posting my experiences here on this thread.




RE: SVN on Linux Mint: A "How to" - MacPhotoBiker - 06-03-2013

Quote:As there seem to be several people as well as you asking about bug fixes and svn etc (including the latest on the subject of Contracts.php) I have uploaded our companies stable branch to my github repository.

You can view this here:
https://github.com/timschofield/webERP

and download a zipped file of it here:
https://github.com/timschofield/webERP/archive/master.zip

This is pure webERP 4.10.1 with the addition of any bug fixes that are in the main line, but without new development work.

The definition of a patch that goes in is when a script either does not run at all eg SalesGraph.php or when the functionality did not return the result that the developer clearly intended. We also run regression tests against this repository.


Hi Tim,

thank you very much for for that!

What I'm trying to find is a way how regular users (or at least "Power Users", but non-programmers) can keep their installation up to date without digging too much into tech stuff. I do believe that a solid update strategy could contribute a lot to the usability and the further spreading of webERP. Also, it would certainly reduce these "I found a bug - It's fixed - Really? How can I get the bugfix?" conversations.

In addition to the files, I believe there should also be a non-tech (or at least "not-too-tech") guide as to how to update in a secure manner.

Would there be any reason not to keep an updated (non-experimental!) bug fixing trunk for the latest release?

As webERP amazingly is provided for free, on my end I'd gladly contribute something, for example:

- I'd gladly provide some webspace to host such bug-fixed trunk for others to download.

- I'd also gladly support a "How to safely keep webERP updated" manual, and would also offer it for download from my server.

As I mentioned several times, I believe that webERP is the most promising project of its kind, and I'm referring to the Business Usability, not "just" the coding. Obviously, such project requires a lot of efforts, and I believe the best we all can do is to "unify forces".

Again Tim, I do thank you for your many valuable advices!


RE: SVN on Linux Mint: A "How to keep webERP bug fixed and updated" - phil - 06-03-2013

Well your idea to use a stable svn is a good one... and for a while Exson maintained this - bringing over bug fixes etc. but it is a bit of a time killer and I prefer to be developing.... as you say we need more people enthusiastic about webERP to get in behind. If a stable branch was maintained then your approach would be good.
The other idea is for us to do releases more often. However, I really don't think there is that much new to warrant a new version as the issues are relatively minor I think in 4.10.1 - I was releasing quite regularly, but only when there was something new to warrant it.

I think we've got plenty to do to improve it....
We need to improve the user experience with more immediate error trapping and feedback and I have recently included jquery into webERP and we can also do stuff like column sorting and filtering with jQuery - although it does push up the bandwidth requirements and I have been reluctant to burden webERP with heavy javascript files as those countries that have more modest internet capabilities get into trouble.


RE: SVN on Linux Mint: A "How to keep webERP bug fixed and updated" - MacPhotoBiker - 06-04-2013

Phil,

thanks a lot for your feedback. Please see my comments and thoughts below.

Quote:Well your idea to use a stable svn is a good one... and for a while Exson maintained this - bringing over bug fixes etc. but it is a bit of a time killer and I prefer to be developing

I believe the entire project is just too big to be a "one man show". On my end, I chose webERP over so many others because of its rich featureset. I do have a solid IT understanding and I enjoy experimenting with new things. However, regarding webERP I need this as a solid business application, also because I'm offering webERP hosting services, so I'm responsible to keep all my installations bug free (well, "bug poor" at least Wink ). From a business user's point of view it's quite irritating when you run the latest version, find and post a bug, only to find out that it "was fixed" already in some "mysterious" SVN repository.

In order to get a growing business community behind webERP, I am absolutely convinced that a simple updating (i. e. bugfixing) strategy is crucial. Usually these companies have no time to investigate solutions and workarounds, and they won't be able (and should not) "playing around" with SVN, or - even worse - somewhere directly in the code.

Quote:.... as you say we need more people enthusiastic about webERP to get in behind. If a stable branch was maintained then your approach would be good.
I believe that you already have a strong community of "Power Users", people who are willing to experiment, and to actively support the webERP project. However, it would need somebody to set up a design and implement an infrastructure that would streamline this support.

See for example Wikipedia: As we all know, content in Wikipedia is maintained by the community, and by now they got a quite good reputation for the quality of their articles. However, this only works because somebody put a system in place where community members can easily register and contribute.

Quote:The other idea is for us to do releases more often. However, I really don't think there is that much new to warrant a new version as the issues are relatively minor I think in 4.10.1 - I was releasing quite regularly, but only when there was something new to warrant it.

More frequent releases could certainly be a good idea, this way you would always offer consistent packages. However, as a user, I'd want to put as little effort as possible into the updating process. It's certainly not only a "double click" installation. When I did my first update, I did a backup of the database from within phpMyAdmin. Indeed something went wrong during update (my own error, but still), and I tried to restore the database. Ever since did I have problems with inconsistencies, and at one point I decided to just create a new database and retype everything manually (was only a few dozens of transactions anyway). Later did I find out that webERP has it's own backup script (BackupDatabase.php), and restoring database backups created by this script works like a charm. Still, I found this a very hard way of learning.

Personally I would give "updateability" a very much higher priority than any new fancy feature.

Quote:I think we've got plenty to do to improve it....
webERP is a truly fantastic project, and I believe you can count on a solid community to support it (including myself).

Quote:We need to improve the user experience with more immediate error trapping and feedback and I have recently included jquery into webERP and we can also do stuff like column sorting and filtering with jQuery - although it does push up the bandwidth requirements and I have been reluctant to burden webERP with heavy javascript files as those countries that have more modest internet capabilities get into trouble.
For any business, stability is king. That's for example why so many companies sticked (and still stick) to Windows XP. They don't need all the fancy bells and whistles from a Windows Vista, 7 or 8, they just want their computers to run, since any little "tech issue" can have a major impact on their businesses.

I'm not very famliar with jQuery. If it improves the handling of webERP (which I think is already very smooth, and thankfully quite simple), then sure this makes sense. However, if it's about "reporting", then I believe there are so many powerful tools out there that this would not needed to be built into webERP.

Personally, I do very extensive reporting. Since webERP runs on a MySQL database, it's extremely easy to use high end reporting tools. My preferred toolset is RapidMiner, Access and Excel, and Base and Calc from LibreOffice, but there are many more out there. All of them can be connected directly to the webERP database (via ODBC and JDBC).

I do like the simplicity of webERP, I can even use it from my mobile phone, sending for example purchase orders to my supplier with only a few clicks. And thanks to the "Gel" theme, it even looks beautiful (but that's a matter of personal taste of course).

Well, sorry for this really long post. In a nutshell, I just felt like expressing that I believe a solid, stable and bugfree version of webERP which can be easily (and safely!) updated will find much more acceptance in the business world than an experimental version "bloated with bells and whistles" (exaggerating a bit).

Anyway, once again I do thank you for this wonderful project!


RE: SVN on Linux Mint: A "How to keep webERP bug fixed and updated" - phil - 06-04-2013

In terms of updating for bug fixes - the thread linked below is relevant:

http://www.weberp.org/forum/showthread.php?tid=913&pid=2796#pid2796

It would be nice to be able to have a script that checked for updates and applied the changed scripts to your web-server and applied the database changes too. The other difficulty with upgrades is that often a business has some of their own modified scripts and the changes that they have made will need to be reapplied to the upgraded script. Sadly we don't have this yet and there are difficulties in creating such a system.

The backup script is probably a script that might be best out of the main trunk as it is potentially quite dangerous to have a backup sitting on the web-server for all to download at will containing all the businesses most sensitive financial data/passwords/users. So it is potentially a very serious security hole.

However, it does have the facility to delete the backup off the web-server too and this needs to be done immediately the backup has been downloaded to the remote machine by a sysadmin. This is why it is not widely advertised. The other reason is that it requires the web-server to allow script execution of mysqldump.... many hosts don't have this so it is another config issue to have their own php.ini in the webERP directory allowing it. We should perhaps bundle a php.ini in webERP too.

There is no doubt that webERP has some usability issues see:

https://sourceforge.net/mailarchive/message.php?msg_id=30912506

from Klaus - a long time loyal advocate of webERP - whose opinion I really value.

and

https://sourceforge.net/projects/web-erp/reviews/

only 63% recommend?? OK some of the negatives may be from people I've upset - a specialty of mine :-) but even from advocates, we have usability issues. Some of this is because my clunky logic, but there are some ways we can guide the user more directly - with lots of "title" tooltips - which add sod all to the download/bandwidth and more interactive error trapping so the user is not going back to the server before the form is 99% correctly completed. With modern applications, the user needs to be guided more than webERP currently does. I am absolutely committed to ensuring webERP never becomes bloated and fat - this has always been a central objective for webERP since inception. Lean and mean is how we like it. However, there is a middle ground and we must compromise I think now for the sake of usability.

You are right - it needs more than a one man band and there are a few of us now when we are not squabbling, or side tracked by trifles.

Thanks for your thoughts on this


RE: SVN on Linux Mint: A "How to keep webERP bug fixed and updated" - PakRicard - 06-04-2013

Hi all:

I've been reading these posts with attention and I would like to add that the small bandwidth requirements was one of the things that decided us to use webERP. But it was like 5 or 6 years ago, when webERP was still on some 3.0x version.

But, since then we have 10.000 times the bandwidth we used to have 5 years ago and we operate in one of those countries with really poor telecom and internet connections. Bandwidth is improving everywhere (not sure in some African countries, but in Asia it is improving yearly), so I prefer a bit more of usability and user experience, specially the sorting and searching capabilities Phil announced.

So I believe it's a good idea to increase a bit the bandwidth usage if we get a better user experience.

Regarding versioning, I would prefer kind of planned stable releases (every 1 or 3 months) except if there is a big problem forcing to an immediate release.

We are one of those using some customized scripts, so upgrading is never easy. We have the customized scripts on a different development folder so every time we need to upgrade we need to diff our customized scripts against the released files and merge them accordingly.

So, I would encourage everyone having customized scripts to think if they can code these scripts in a general way and then submit them for all to use. It makes everybody's webERP better and easier to maintain. Sometimes a small extra effort coding, turns a "company script" into a general one. On the long run, it's worth it.




RE: SVN on Linux Mint: A "How to keep webERP bug fixed and updated" - MacPhotoBiker - 06-05-2013

(06-04-2013, 09:43 AM)PakRicard Wrote: Regarding versioning, I would prefer kind of planned stable releases (every 1 or 3 months) except if there is a big problem forcing to an immediate release.

Answer from Tim:
Tim Wrote:Hi Ricard, To have regular stable releases you need a "stable branch". New code by definition brings potential new bugs, so if we release too frequently the code never gets close to stable. The idea of a stable branch is that it only contains bug fixes, so that the code gets progressively more stable until the next release. When you think about it, this is how nearly all software works. Microsoft issue a version of windows then release patches from their stable branch of that version until the next release is due.

It is possible to use the "ignore" facilities of a version control system to update all files except a small subset of scripts, such as your label ones, and just update those manually.

I fully second Tim's statement. As a business user, I certainly would not want to re-install new releases every month, this simply will not happen.

Also, the release download should always contain the latest bug fixed version. Otherwise (and that`s what happened to me), people download the current version, and when they find a bug, they`ll report it, just to find out that it was fixed already. I`m aware that all these steps require efforts, but this is just the same requirements as for any company. You want to sell products? It`s certainly not enough to develop more and more fantastic products, one has to take care of logistics, aftermarket, support, and many more things.

What´s the concept of bug fixing anyway? For example in case of the SalesGraph.php, it´s certainly not more than replacing the existing file with a new file, done.

I stand corrected, but within the same release, would this kind of bug fixing not cover 90 % or more of all fixes?

I am aware that it turns significantly more complex when customized files are being used. Two thoughts on this:

- If customized files are being used, then there is most likely somebody available who can perform the updates manually, no?

- And a wild guess: If the updating procedure were more consistent, maybe then less customized scripts were needed anyway?

I truly believe that there is not really a point of developing and implementing new features, if the bug fixing and updating procedure is rather bumpy. People who are not willing (or able) to invest much time and efforts into the updating process, will not be attracted by fancy features. To gain a great community it´s crucial that the software is easy to install, maintain and update. Why do people pay for Quickbooks? For exactly that reason, I guess...

Hi Phil,

thanks a lot for your feedback!

(06-04-2013, 08:11 AM)phil Wrote: It would be nice to be able to have a script that checked for updates and applied the changed scripts to your web-server and applied the database changes too. The other difficulty with upgrades is that often a business has some of their own modified scripts and the changes that they have made will need to be reapplied to the upgraded script. Sadly we don't have this yet and there are difficulties in creating such a system.

As a start, I think we should focus on a standard version. Why not have a standard version, and a standard update procedure? People and companies who are able to implement and use customized scripts will do so anyway. Some will probably even derive a "customized update procedure" from it

phil Wrote:The backup script is probably a script that might be best out of the main trunk as it is potentially quite dangerous to have a backup sitting on the web-server for all to download at will containing all the businesses most sensitive financial data/passwords/users. So it is potentially a very serious security hole. However, it does have the facility to delete the backup off the web-server too and this needs to be done immediately the backup has been downloaded to the remote machine by a sysadmin. This is why it is not widely advertised.

Thankfully you are putting a very clear warning message when using the script, and with one click all backup files can be deleted immediately. I use it frequently when I do some "new" or "creative" Big Grin postings, and in case I want to completely undo them, I simply restore the backup. As I stated somewhere else before, I was unable to successfully restore backups that were created from within phpMyAdmin. I have no idea why this is the case, but using your backup script solved the issue.

phil Wrote:The other reason is that it requires the web-server to allow script execution of mysqldump.... many hosts don't have this so it is another config issue to have their own php.ini in the webERP directory allowing it. We should perhaps bundle a php.ini in webERP too.

Yes, I experienced that myself when "all over sudden" I got a "exec not allowed" error message. Not sure if a php.ini would help. Would this change the settings only for webERP, or for all PHP applications? On my end, I certainly would not want any application to change global settings. If I know which settings are required (PHP version, modules etc.), I can configure the server accordingly, and react on error messages.


phil Wrote:There is no doubt that webERP has some usability issues see:

https://sourceforge.net/mailarchive/message.php?msg_id=30912506

from Klaus - a long time loyal advocate of webERP - whose opinion I really value.

Klaus made some very good points. I fully agree that usability and even layout are absolutely crucial. 100 % agreed. Maybe even more Big Grin

phil Wrote:and

https://sourceforge.net/projects/web-erp/reviews/

only 63% recommend?? OK some of the negatives may be from people I've upset - a specialty of mine :-) but even from advocates, we have usability issues. Some of this is because my clunky logic, but there are some ways we can guide the user more directly - with lots of "title" tooltips - which add sod all to the download/bandwidth and more interactive error trapping so the user is not going back to the server before the form is 99% correctly completed. With modern applications, the user needs to be guided more than webERP currently does. I am absolutely committed to ensuring webERP never becomes bloated and fat - this has always been a central objective for webERP since inception. Lean and mean is how we like it. However, there is a middle ground and we must compromise I think now for the sake of usability.

Well, I`d rather call it "Lean and Clean" than "Lean and Mean" - LOL - but other than this, I do agree Smile Usability is key, and when at the cost of a few more more bytes it can clearly improved, this should be a "no brainer" as they call it in Canada.


phil Wrote:You are right - it needs more than a one man band and there are a few of us now when we are not squabbling, or side tracked by trifles.
Thanks for your thoughts on this

webERP is one great project, and by now I know that there are quite a few great players.

What I like so much about it (besides the little details that it´s free) is mainly the business logic in it, which I missed in many other applications I tried.

You have been very helpful, and also Tim has helped me out in countless personal messages, I thank you both for all your help and support.