Forum OpenACS Q&A: ]project-open[ V5.0 Release Candidate and OpenACS

Hi,

We have the release candidate available for ]po[ V5.0.
Here is a link to our "press kit" with all information:
https://www.project-open.net/en/press-v50-kit-en

The press kit contains two main references to the OpenACS community:
- In the "Analyst Briefing" there is a slide explaining OpenACS as the base for ]po[
- There is a document from the last V4.0 release in 2015 with "People in the Community" with photos and a short bio.

The Windows installer is based on work from Maurizio in 2015.

We would be happy to receive any type of constructive feedback. Did the installers work for you? Any major spelling mistakes? ...

We plan the main push to press, magazines and blogs for next week, so there is still time to include change ideas from your side.

Cheers
Frank

This is just to confirm that ]project-open[ Version: 5.0.3.0. runs nicely also on my Windows Port of Naviserver/OpenACS which consists of the very latest version of everything.

Server Informationen: this is a bit of German isn't it?
]project-open[ Version: 5.0.3.0.0
OS Platform: Windows
OS Version: 10.0
TCL Version: 8.6.9
Web Server Version: 4.99
System Id: C6A4-1BD4-FFC9-8BB7-D5C6
Load Average: Can't evaluate Load Average

Speaking about the very latest version of everything, I'm a bit disappointed:
on the 12th of April some changes on the Windows files
have been merged into the main branch, well:
1. these changes are in support of a very old version of the compiler and do not compile on the most recent versions (I use the most recent version).
2. the function Ns_TimeToMilliseconds has disappeared and I do not understand why: given it is needed.

We'd better support the most recent versions of compilers and tools, as opposed to the very old ones.

Thank you,
Maurizio

Collapse
Posted by Andrew Piskorski on
Maurizio, Ns_TimeToMilliseconds certainly did not "disappear". You thinking it did suggests to me that you haven't actually looked at the source code. Regarding old compilers, I don't understand what you're talking about. What change works only with old compilers, and breaks new ones? Gustaf only merged in two small commits, so pointing to the specific problem should be easy.
Dear Andrew,
thank you for your reply.

Indeed Ns_TimeToMilliseconds did not disappear, my fault, it just moved from nsd/tcltime.c to nsthread/time.c.

About the other complain, this piece of code:
#if defined(_MSC_VER)
static double round(double val) { return floor(val + 0.5); }
#else
#include <math.h>
#endif
as it is does not compile with MS VSC++ 2019 (here below the compilation error).
naviserver-si\nsd\tcltime.c(47,33): error C2491: 'round': definition of dllimport function not allowed

And this is your comment:
/*
* math.h is only needed for round()
*
* But the older MS Windows compiler I am using does not include round() in
* its math.h! For now use this hack. TODO: Add a check for newer math.h?
*/

To "fix it" I had to either comment out
static double round(double val) { return floor(val + 0.5); }
or to include the math.h as it was before.
I hope I have explained the problem better.

Collapse
Posted by Frank Bergmann on
Ciao Maurizio,

Server Informationen: this is a bit of German isn't it?

That's on the "Admin" page at the right, correct?
In my browser that appears in English.

Is it possible that you have enabled German in your browser or as default language?

Very strange...

]project-open[ Version: 5.0.3.0. runs nicely also on my
Windows Port of Naviserver/OpenACS which consists
of the very latest version of everything.

I have no doubt about this in general.

=> Maybe you could publish a short description on what to do in order to make ]po[ work on your installer?

Then I could include this in our documentation (and point to your installer!). I understand there are users who would like to work with the latest versions...

runs nicely

The problem with "running" is usually not the TCL side, but all the functionality that needs some external tools from the Linux toolchain.

For testing we use the following page:
http://www.project-open.com/en/list-integration-links

- Does deleting tasks in the Gantt Editor work? (Does NSD / your proxy support extended HTML verbs including PUT and DELETE?)
- Does database backup and restore work in Admin -> Backup -> New Backup?
- Are workflows displayed correctly? Please check Admin -> Workflow -> some workflow -> Graphical Workflow Editor
- Does it work to upload/download/delete work in intranet-filestorage?
- Are exchange rates updated? (Master Data -> Exchange Rates -> Update)
- Does Active Directory integration work (ldapsearch and varous Perl libraries...)?
- Does running upgrade scripts form the Home page work?

Once these tests are finished I would use the adjective "nicely"...

Cheers
Frank

Dear Frank,
yes some of the features related to Linux may not work, anyhow:

- Does deleting tasks in the Gantt Editor work? (Does NSD / your proxy support extended HTML verbs including PUT and DELETE?)
+ Whenener I try to save the work done in the editor, I get this error:
Server error while saving: Internal Error: Database operation "0or1row" fai
led (exception ERROR, "ERROR: invalid input syntax for type integer: "root
"
LINE 1: select count(*) from im_projects where project_id = 'root';
")
ERROR: invalid input syntax for type integer: "root
LINE 1: select count(*) from im_projects where project_id = 'root';
Is this a database error?
^
- Does database backup and restore work in Admin -> Backup -> New Backup?
* Whenever I try to use this function, I get this error.
Error while determining the PostgreSQL version:
Your database binary doesn't seem to be accessible.
As I mentioned in a previous post, this depends on ]project-open[ only accepting versions of PGSQL
where the major version number is only of one letter (that is up to 9) and I'm using version 12.2

- Are workflows displayed correctly? Please check Admin -> Workflow -> some workflow -> Graphical Workflow Editor
+ Kind of. They appear, as they always did in my port, with the texts not exactly centred in the boxes, but slightly
displaced towards the top.

- Does it work to upload/download/delete work in intranet-filestorage?
+ No

- Are exchange rates updated? (Master Data -> Exchange Rates -> Update)
+ Yes

- Does Active Directory integration work (ldapsearch and varous Perl libraries...)?
+ No

- Does running upgrade scripts form the Home page work?
+ Yes

- Once these tests are finished I would use the adjective "nicely"..
+ Well for me the adjective "nicely" is still valid.
Especially considering the completely different database versions,
that all core functionalities do work well and that
I did not spend more than 2 hours in this porting experiment.

Well, I hope it helps

Collapse
Posted by Frank Bergmann on
Hi Maurizio,

ERROR: invalid input syntax for type integer: "root"

That's strange and looks more like a general error than an issue with HTTP verbs. Can you provide me the URL for this project? Does this happen with all projects, or just with one?

database version

Ahhh, does full-test search work? I believe it doesn't in PostgreSQL versions beyond 9.x...

2 hours for this porting experiment

Can you publish what you did in the two hours? That way we could point users to your installer if they want to be with the newest versions.

Cheers
Frank

Hello Frank,
here you are with the answers:

+ ERROR: invalid input syntax for type integer: "root"
That's strange and looks more like a general error than an issue with HTTP verbs. Can you provide me the URL for this project? Does this happen with all projects, or just with one?

- This happens with all projects.

+ database version
Ahhh, does full-test search work? I believe it doesn't in PostgreSQL versions beyond 9.x...

- Yes this is a problem. I'm investigating if, starting from the sources is possible to "inject" the old "tsearch" into the newest PostgreSQL

+ 2 hours for this porting experiment
Can you publish what you did in the two hours? That way we could point users to your installer if they want to be with the newest versions.

- I used the "update" and "aux" tar files
- I used the database dump
- I modified the config file
- I modified by hand the parameters in the admin/parameters

Did not spend too much time on this.

Collapse
Posted by Andrew Piskorski on
Maurizio, thanks for the bug report. I fixed it. Those two fixes are simple, so Gustaf will likely merge them in as soon as he gets a chance.

I'll also see if I can improve the Windows nmake-based build system a bit, so people other than me can use it more easily.

@Andrew:
Thank you for the fixes.

Now that you're on it, please correct also the file reentrant.c and replace these lines:

if (sizeof(time_t) == 4) {
errNum = _localtime32_s(&tlsPtr->ltbuf, timep);
} else {
errNum = _localtime64_s(&tlsPtr->ltbuf, timep);
}

with just

errNum = localtime_s(&tlsPtr->ltbuf, timep);

The compiler, whatever version, and for both 32 and 64 bit targets takes care of that and it does it at compile time. So no point in having a useless check that gets called every time the function is used.
If you need background information, please read MS documentation.

TIA,
Maurizio