Forum OpenACS Development: OpenACS 5.9.0 and Oracle 12c

Collapse
Posted by Brian Fenton on
Hi all

after too many years running older versions of OpenACS, I'm pleased to be able to finally get my hands on the latest version. I'm going to be installing it on Oracle 12c, and will report any issues as I come across them.

How would you like me to report issues and fixes? Here on the forum or via bug tracker?

best wishes
Brian

Collapse
Posted by Gustaf Neumann on
Great news! this is a good timing, OpenACS 5.9.1 will be a good starting point.

Bugtracker is better! all the best -g

Collapse
Posted by Brian Fenton on
Sounds like good timing, indeed! Thanks.

Brian

Collapse
Posted by Brian Fenton on
As I had a very small window to do this job, I ended up using 5.9.0 to try out my proof of concept. OpenACS 5.9.1 seems to have some changes to ACS_REL_TYPES that would require more time to make the Oracle changes than I have available at the moment (but I will get to it once we proceed with this project).

The good news is that I managed to get OpenACS 5.9.0 up and running with Oracle 12c on Windows 2012 and using Maurizio's version of Naviserver. I had to fix a few things and also noticed some issues, all of which I will post on the bug tracker.

Good job all around, and looking forward to further developments with the community!

Brian

Collapse
Posted by Maurizio Martignano on
Hello Brian, good job.

Did you modify Naviserver code, or Nsoracle?
If so, would it be possible to get your mods?

TIA,
Maurizio

Collapse
Posted by Brian Fenton on
Hi Maurizio

it is you who has done a good job! I didn't have to modify anything, it worked out of the box. I used the nsoracle.dll that you include in your release.

There is one issue of concern I noticed yesterday evening, that I need to spend more time looking at. Calls to ::util::http::get are failing.
See this bug https://openacs.org/bugtracker/openacs/bug?format=table&bug_number=3307

thanks
Brian

Collapse
Posted by Maurizio Martignano on
Ah... Ok. Thank you.
While waiting for the bug fix, where i need to do some investigation, you can try something like this:
[exec wget https://openacs.org]

Kind of awkward... but it should work...

Maurizio

Collapse
Posted by Antonio Pisano on
Another way to circumvent the issue for the time being could be to try the curl implementation of HTTP client, e.g. util::http::get -preference curl -url https://openacs.org

For reference see https://openacs.org/api-doc/proc-view?proc=util%3a%3ahttp%3a%3aget&source_p=1

Collapse
Posted by Brian Fenton on
Thank you Maurizio. Actually what is the canonical way to make a HTTP call with Naviserver? In our old AOLserver codebase, we have a mix of calls to ns_httpget, ad_httpget, and more recently calls to ns_http (this is the one that works best for us on Windows 2008).
Collapse
Posted by Maurizio Martignano on
I have fixed the issue.

This is the change in the code:

if (connect(sock, saPtr, Ns_SockaddrGetSockLen(saPtr)) != 0) {
int err = ns_sockerrno;

#ifndef _WIN32
if (!async || (err != EINPROGRESS && err != EWOULDBLOCK)) {
#else
if (!async || (err != WSAEWOULDBLOCK)) {
#endif
ns_sockclose(sock);
Ns_LogSockaddr(Warning, "SockConnect fails", saPtr);
sock = NS_INVALID_SOCKET;

The mod will be available in next version of my distribution.
Over the weekend.

Collapse
Posted by Antonio Pisano on
Regarding this, ns_http is now the preferred low-level interface for HTTP client functionalities. A higher level interface, that deprecates all the "old school" procs like ad_httpget and such, you can find in [1] and [2].

These are basically wrappers around the API that make easier to issue the requests, also providing backward compatibility with Aolserver by using curl.

Hope this helps

Antonio

[1] https://openacs.org/api-doc/proc-view?proc=util%3a%3ahttp%3a%3aget&source_p=1
[2] https://openacs.org/api-doc/proc-view?proc=util%3a%3ahttp%3a%3apost&source_p=1

Collapse
Posted by Brian Fenton on
Thanks Antonio!
Collapse
Posted by Gustaf Neumann on
Dear Brian,

many thanks for the time invested and the fixes. Some of these can be probably included in the forthcoming release, some of these might require more changes. On some of the changes, you provided a fixed version for the create-scripts, but it is not clear, how to deal with these in upgrades. However since we have this nicely in the tracker, we can improve stepwise.

Concerning the rel-types: you are referring probably to these changes:

https://openacs.org/forums/message-view?message_id=5330734
https://openacs.org/forums/message-view?message_id=4031049

by these postings, the documentation and intentions should be clear. The PostgreSQL version appears to work nicely.

Good job and many thanks!
-g

Collapse
Posted by Brian Fenton on
Hi Gustaf

good point about the upgrade scripts. Yes, I'll sort those out.

Thanks for the rel-types info. When I go to look at 591, I'll follow up on that.

thanks for all your great work!
Brian

Collapse
Posted by Antonio Pisano on
I really appreciate your effort Brain! Unfortunately you may find out issues like the one on ACSMail Lite you have kindly reported (my bad) that are due to our lack of an Oracle test framework. Therefore, modifications on my side that had to do with the Oracle codebase were conducted on a best-effort basis and will probably need some testing/rework.

Please keep up your reporting and I will do my best to give you insights and the help I am able to provide on this. It is very nice to see somebody willing to revamp the Oracle side of the project!

Collapse
Posted by Brian Fenton on
Grazie mille, Antonio! That's very helpful of you, and really, there is nothing to apologise for. That's just how it is.
Collapse
Posted by Andrew Piskorski on
In Bug Tracker, unfortunately the submitter links merely take you to the generic (and mostly useless) "Community Member" page for that user, rather than showing you all bugs submitted by that user. But clicking on the right links, eventually I got it to show me the list of all 13 currently "Resolved" bugs submitted by Brian. Looks like they've all been fixed in OpenACS 5.9.1, awesome.
Collapse
Posted by Brian Fenton on
Hi Andrew

there was one issue that I didn't fix, to do with the changes described above to ACS_REL_TYPES. More detail here https://openacs.org/bugtracker/openacs/bug?bug_number=3302

Brian