View · Index

Weblog Page

Showing 641 - 650 of 694 Postings (summary)

Install Postgresql

Created by OpenACS community, last modified by Ryan Gallimore 03 Oct 2008, at 06:27 PM

A quick install guide for Postgres 8.2 which takes everything into account can be found at http://cognovis.de/developer/en/pg82 

For RPMs, see http://yum.pgsqlrpms.org/


These instructions should work for 7.4 to 8.2.

Get the source code

http://www.postgresql.org/download/

Install from source

Unpack PostgreSQL 7.4.7. If you have downloaded the postgresql tarball to /var/tmp/postgresql-7.4.7.tar.gz

[root root]# cd /usr/local/src
[root src]# tar xzf /var/tmp/postgresql-7.4.7.tar.gz
[root src]# 
cd /usr/local/src
tar xzf /var/tmp/postgresql-7.4.7.tar.gz

If you have downloaded the postgresql tarball to /var/tmp/postgresql-7.4.7.tar.bz2

[root root]# cd /usr/local/src
[root src]# tar xfj /var/tmp/postgresql-7.4.7.tar.bz2
[root src]# 
cd /usr/local/src
tar xfj /var/tmp/postgresql-7.4.7.tar.bz2

Create the Postgres user. Create a user and group (if you haven't done so before) for PostgreSQL. This is the account that PostgreSQL will run as since it will not run as root. Since nobody will log in directly as that user, we'll leave the password blank.

[root src]# groupadd web
[root src]# useradd -g web -d /usr/local/pgsql postgres
[root src]# mkdir -p /usr/local/pgsql
[root src]# chown -R postgres.web /usr/local/pgsql /usr/local/src/postgresql-7.4.7
[root src]# chmod 750 /usr/local/pgsql
[root src]#
groupadd web
useradd -g web -d /usr/local/pgsql postgres
mkdir -p /usr/local/pgsql
chown -R postgres.web /usr/local/pgsql /usr/local/src/postgresql-7.4.7
chmod 750 /usr/local/pgsql

Set up postgres's environment variables. They are necessary for the executable to find its supporting libraries. Put the following lines into the postgres user's environment.

[root src]# su - postgres
[postgres ~] emacs ~postgres/.bashrc

Paste this line into .bash_profile:

source $HOME/.bashrc

Paste these lines into .bashrc:

export PATH=/usr/local/bin/:$PATH:/usr/local/pgsql/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib

Test this by logging in as postgres and checking the paths; you should see /usr/local/pgsql/bin

[root src]# su - postgres
[postgres pgsql]$ env | grep PATH
LD_LIBRARY_PATH=:/usr/local/pgsql/lib
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin:/usr/local/pgsql/bin:/usr/local/pgsql/bin
[postgres pgsql]$ exit

Don't continue unless you see correct output from env | grep PATH

Compile and install PostgreSQL. Change to the postgres user and run ./configure to set the compilation options automatically. This is the point at which you can configure PostgreSQL in various ways. To see what the possibilities, run ./configure --help.

[root src]# su - postgres
[postgres pgsql]$ cd /usr/local/src/postgresql-7.4.7
[postgres postgresql-7.4.7]$ ./configure
creating cache ./config.cache
checking host system type... i686-pc-linux-gnu
(many lines omitted>
linking ./src/makefiles/Makefile.linux to src/Makefile.port
linking ./src/backend/port/tas/dummy.s to src/backend/port/tas.s
[postgres postgresql-7.4.7]$ make all
make -C doc all
make[1]: Entering directory `/usr/local/src/postgresql-7.4.7/doc'
(many lines omitted)
make[1]: Leaving directory `/usr/local/src/postgresql-7.4.7/src'
All of PostgreSQL successfully made. Ready to install.
[postgres postgresql-7.4.7]$ make install
make -C doc install
make[1]: Entering directory `/usr/local/src/postgresql-7.4.7/doc'
(many lines omitted)
Thank you for choosing PostgreSQL, the most advanced open source database
engine.
su - postgres
cd /usr/local/src/postgresql-7.4.7
./configure
make all
make install

Start PostgreSQL. The initdb command initializes the database. pg_ctl is used to start up PostgreSQL.

[postgres postgresql-7.4.7]$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
(17 lines omitted)
or
    /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
[postgres postgresql-7.4.7]$ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/data/server.log start
postmaster successfully started
[postgres postgresql-7.4.7]$
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/data/server.log start

PostgreSQL errors will be logged in /usr/local/pgsql/data/server.log

Install Pl/pgSQL.Set up plpgsq and allow your user to have access. Plpgsql is a PL/SQL-like language. We add it to template1, which is the template from which all new databases are created. We can verify that it was created with the createlang command in list mode.

[postgres postgresql-7.4.7]$ createlang plpgsql template1
[postgres pgsql]$ createlang -l template1
Procedural languages
  Name   | Trusted?
---------+----------
 plpgsql | t
(1 row)

[postgres pgsql-7.4.7]$
createlang plpgsql template1
createlang -l template1

If you are installing Postgres 8.x, follow additional instructions at en:How_to_install_in_Postgres_8.x

If you are installing tsearch2, follow additional instructions at en:postgresql-tsearch2

Test PostgreSQL (OPTIONAL). Create a database and try some simple commands. The output should be as shown.

[postgres pgsql]$ createdb mytestdb
CREATE DATABASE
[postgres pgsql]$ psql mytestdb
Welcome to psql, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help on internal slash commands
       \g or terminate with semicolon to execute query
       \q to quit

mytestdb=# select current_timestamp;
          timestamptz
-------------------------------
 2003-03-07 22:18:29.185413-08
(1 row)

mytestdb=# create function test1() returns integer as 'begin return 1; end;' language 'plpgsql';
CREATE
mytestdb=# select test1();
 test1
-------
     1
(1 row)

mytestdb=# \q
[postgres pgsql]$ dropdb mytestdb
DROP DATABASE
[postgres pgsql]$ exit
logout

[root src]#

Set PostgreSQL to start on boot. First, we copy the SERVERROOT/packages/acs-core-docs/www/files/postgresql.txt init script, which automates startup and shutdown, to the distribution-specific init.d directory. Then we verify that it works. Then we automate it by setting up a bunch of symlinks that ensure that, when the operating system changes runlevels, postgresql goes to the appropriate state. Red Hat and Debian and SuSE each work a little differently. Be sure to check OS distribution notes for specifics (and examples)

Once installed, PostgreSQL should start automatically each time you boot up and it should shutdown gracefully each time you shut down.

Prerequisites and Procedures for Migrating to Subversion from CVS

Created by Hamilton Chua, last modified by Torben Brosten 22 Aug 2008, at 08:40 AM

Software

Subversion will be used for version control. The source code will be maintained inside a subversion repository.

The Apache HTTP server will be used to allow remote users to access the repository.  There are other server options for subversion, however, apache provides the following benefits that maybe important to OpenACS.

  • Network traffic can be encrypted via SSL and HTTP(S).
  • Full Apache logging.
  • Numerous authentication systems integrated with Apache
  • No need to create system accounts for users
cvs2svn is a script that reads an existing CVS repository and creates an equivalent subversion repository.

Optional Software

SvnMerge.py for tracking merges between branches. (http://www.orcaware.com/svn/wiki/Svnmerge.py)

Svn2log to generate changelogs. (http://www.core.com.pl/svn2log/)

ViewVC will be used to view the code in the repository. (http://viewvc.tigris.org/)

Experienced users on linux can use the svn command line client to checkout, update and commit code , or a graphical interface like TkSVN (http://www.twobarleycorns.net/tkcvs.html), while users on windows can use tortoisesvn (http://tortoisesvn.tigris.org/).

Outline of Actions for Repository Transition

  • Run cvs2svn on a copy of OpenACS CVS repository. (This will take a while depending on how much data is in the CVS repository)
    • There will most likely be errors reported in some of the history files. When I ran a test there were references in the history file to revisions that don't exist in the repository. The history file can be edited to remove the invalid entry. Then cvs2svn needs to be run again until all these problems are fixed.
    • The error message will have a long traceback of python code then end in someting like:
    • KeyError: '1.12.2.2' The beginning of the error message will tell you which file it stopped at. Edit the file and remove entries for the revision in the KeyError message.
    • Fix error in commitinfo,v delete revision info for 1.1
    • New error message
      • Done
        ----- pass 2 (CollateSymbolsPass) -----
        Checking for blocked exclusions...
        Checking for forced tags with commits...
        Done
        ----- pass 3 (ResyncRevsPass) -----
        Re-synchronizing CVS revision timestamps...
        ERROR: Key 198L not found within items currently accessible.


  • Install Apache with HTTP Auth.
  • Setup ViewVC
  • Point Apache and ViewVC to the new SVN repository converted from SVN
  • Create users who can access the repository on Apache
  • Rewrite Release documentation for SVN https://openacs.org/doc/releasing-openacs-core.html

Outline of Actions for openacs.org Instance

Logo

Created by Stefan Sobernig, last modified by Stefan Sobernig 06 Aug 2008, at 02:33 PM

oacs-for-debian.png
NameContent TypeLast ModifiedBy UserSize (Bytes)
oacs-for-debian.pngimage/png2008-08-06 14:33:21+02Stefan Sobernig10990

Ajax and Accessibility

Created by Dave Bauer, last modified by Emmanuelle Raffenne 01 Aug 2008, at 11:12 AM

Ajax and Accessibility

Open Issues:

  • Screenreaders have no way to be notified of changes to a page if the DOM is changed with Ajax
  • Need to deliver standard accessible HTML content then add extra behavior on top
  • Need to make sure application works without ajax, reloads page on changes etc, then add Ajax behavior to enhance the application

Resources:

  • WAI-ARIA Accessible Rich Internet Applications
    • http://www.w3.org/WAI/intro/aria
    • http://www.w3.org/WAI/aria/faq
    • http://www.w3.org/TR/wai-aria-primer/
    • http://www.w3.org/TR/wai-aria-practices/
    • support for keyboard only use
    • clues for screenreaders etc on what options are available
  • Yahoo UI has some support for WAI-ARIA in some controls
  • XHTML 1
  • Solution needs to be toolkit based, ie: ajaxhelper
  • Besides ARIA
    • Progressive Enhancement
      • http://hesketh.com/publications/inclusive_web_design_for_the_future/
      • Listeners added to standard semantic HTML, ie: menu built from UL of links
    • Graded browser support
      • C-grade semantic HTML
      • A-grade full support
      • X-grade unknown browsers, receive same content as A-grade, unsupported and untested (ie: alpha/beta versions of browsers)
    • unobtrusive JS (listeners), behavior added to items by css id or class.
      • http://www.onlinetools.org/articles/unobtrusivejavascript/
    • Hijax progessive enahancement with ajax
      • http://domscripting.com/blog/display/41
        • First, build an old-fashioned website that uses hyperlinks and forms to pass information to the server. The server returns whole new pages with each request.
        • Now, use JavaScript to intercept those links and form submissions and pass the information via XMLHttpRequest instead. You can then select which parts of the page need to be updated instead of updating the whole page.

Day 1

Created by Robert Taylor, last modified by Gavin Schuette 30 Jan 2008, at 08:44 PM

1. guidelines - stayed the same / or changed depending on circumsntaces

 

 

 2. i used this page and this xowiki page for reference on this step

I started with www.archlinux.org

p4 3.40 hyperthread(linux sees as 2 cpu) 2g ram  

 Linux myhost 2.6.23-ARCH #1 SMP PREEMPT Tue Jan 15 06:34:36 UTC 2008 i686 Intel(R) Pentium(R) 4 CPU 3.40GHz GenuineIntel GNU/Linux
Mem:   2066108k total

 I followed my own notes for tcl+aolserver install

http://wiki.archlinux.org/index.php/Aolserver

 3. i got an answer to this problem on this thread in the forum

 4. I got this help from IRC

 29jan08 (05:35:24 PM) jim: oh ok, so you'll probably next build some aolserver modules (incl. nspostgres, nscache, nssha1)
(05:35:52 PM) jim: and on your tcl itself you would install xotcl and tcllib

 

Day 2 30jan08

 looking at openacs install docs

 en/openacs-system-install

 


XoWiki Slides from the Vienna OpenACS conference

Created by Gustaf Neumann, last modified by Gustaf Neumann 14 Jan 2008, at 09:10 AM

NameContent TypeLast ModifiedBy UserSize (Bytes)
oacs-dotlrn-vienna-xowiki.pdfapplication/pdf2008-01-14 09:10:28+01Gustaf Neumann3050907

Conditional CREATE Index for Postgresql and Oracle

Created by Gustaf Neumann, last modified by Dave Bauer 21 Nov 2007, at 03:03 PM

In order to create an index conditionally (e.g. only, if it does not exist) in postgresql or in oracle, one can use the following two idioms

Postgres

create or replace function inline_0() returns integer as '

declare v_exists integer;
begin
select into v_exists count(*) from pg_class where relname = ''acs_permissions_object_id_idx'';
if v_exists = 0 then
create index acs_permissions_object_id_idx on acs_permissions(object_id);
end if;
return null;
end;' language 'plpgsql'


select inline_0();
drop function inline_0();
 

Oracle

declare v_exists integer;

begin
select count(*) into v_exists from user_indexes where lower(index_name)='acs_permissions_object_id_idx';
if v_exists = 0 then
execute immediate 'create index acs_permissions_object_id_idx on acs_permissions(object_id)';
end if;


end;
/
show errors

These examples were  posted by Dave Bauer OpenACS Development forum and can be used in a similar style for conditionally creating tables, etc.

.LRN Get Involved!

Created by Rocael Hernández Rizzardini, last modified by Rocael Hernández Rizzardini 24 Oct 2007, at 07:13 PM

Get Involved in .LRN!


Being an open source project organized as a Consortium allows .LRN users to actively participate within the community, the main collaboration processes and areas are:

  1. .LRN application features and enhancements: since its inception, .LRN has been enhanced with new features and applications, almost all of them contributed by .LRN adopters, whether they are end users, commercial vendors, institutions or organizations. Everyone is welcome to contribute to .LRN. Contributions of new applications and features might have more adopters and further contributions of those adopters, at the same time contributors are encouraged to become package (application) maintainers. If you want to know more how to contribute, and what is the process, contact the .LRN Leadership team.
  2. .LRN core enhancements: .LRN is continuously evolving and enhancing its core functionalities and applications, contributions and work on this area is encouraged. .LRN core changes usually go into more detailed revision, which means that superior review is done in order to guarantee high quality in the short and long term. Contact the .LRN Leadership team to discuss core enhancements, usually a formal proposal of your suggestions is the way to start contributing, better if that comes with the resources or code to make it happen.
  3. .LRN specific application collaboration: .LRN users, including its members are continuously finding and forming synergies and projects that allows them to collaborate in a give application or extension. The forums are open for anyone to express their desire of working in something, and usually collaboration can be set up through direct contact. If you want to contact some specific member of the Consortium, send an email to the Board of the .LRN Consortium and we'll introduce you to possible peers on someone you might want to contact.
  4. .LRN End User Club: this is a new initiative to gather together interested users of .LRN, and share best practices in using .LRN and in e-learning in general. At this point please use the .LRN forum at openacs.org to post your comments, suggestions, questions on anything related to .LRN.
Institutions and .LRN adopters have found many benefits comes from participating in .LRN, most of them are obvious, but important to mention are:
  • Share and get your applications used by many parties which usually ends having greater feedback and finally better applications
  • Share yours enhancements and needs that are good for the toolkit, something that easies further upgrades of the platform.
  • Lead and influence in the evolution of .LRN
Any .LRN user or interested party is encouraged to participate.

Check the dotLRN_Roadmap for more information.

Content development tools options

Created by Rocael Hernández Rizzardini, last modified by Rocael Hernández Rizzardini 19 Oct 2007, at 03:18 AM

Content development tools options

 This is a discussion of content creation tools for Learning Objects, related to the LORS package.

START POINTS

  • (First stage implemented by Galileo, check Content Package)--> XOWiki, as it is a very well maintained tool, and have many of the desired features such as: easy content tool (plus the advantage that a wiki tools is becoming more and more common), directories, versioning, flexible built-in features to handle content more easily (including positioning and segmentation), basic template management, variables, multi-language support.
  • LORSM contains support for sequencing arbitraty Xowiki pages. TODO includes allowing export of XOwiki content as plain HTML from LORSM. I think this approach is working very well and is less error prone than the technique used in LORS-Central. Another key feature are the simplified file/image upload widgets which make it easier to add media to an Xowiki page. ALso see the Xowiki::File approach which only works in XOwiki. Either of these might be good to allow linking media into course content (assuming the media is part of a "page") DAVEB
  • Another interesting approach would be to provide import/export facilities from xowiki into IMS CP format.
  • LORS Central built-in editor (for web pages)
  • Word 1-click integration to lors-central
  • Never try to be a dreamweaver online, that is too sophisticated for our end users, although c/p from dreamweaver or upload from it should be allowed.
  • an interesting tool for content creation is eLearning XHTML editor
  • Others?

TO DO

  • Full review of the tools available, possible approaches, etc.
  • Build a prototype that gets near to what the short term objectives are.
  • Basic review of the lors-central and xowiki: both support well edition, seems that xowiki will do better with template management.

REFERENCES

Check these courses, click on a modulo.

User: usuariosat  Pass: usuariosat 

Community members interests:

  • Galileo University
  • Valencia University

OBJECTIVES

Short term

  • The Content Package (that runs atop of xowiki) already provides this (18/oct/2007 by Galileo):
    • Provide a simple interface to create web pages, and easily include and manipulate web assets such as flash, videos, images, etc.Provide a set on web templates, easy to manage, like PPT templates.
    • Provide collaborative content creation tools while being able to set up roles easily.
    • Folder, subfolders, pages ordering.
    • Free of "standards" approaches, so professors with basic word knowledge can use it.
    • If use of already existing content creation tools is considered, try to keep it as customization rather than a fork (specially for xowiki case)
  • See above LORSM already works with the standard Xowiki package (no idea if its already commited, where and if its ready for grab and production use?? [roc])

Mid term

  • Export to SCORM / IMS-CP automatically, almost with zero knowledge of the standards themselves.
  • Import/Publish to LORS one click feature.

Long term

  • Workflow definition.
  • Third parties API / resources integration (Flickr, Google, Amazon, YouTube, others)

 

Webinar - Part 3 - Packages and ad_form

Created by Marcin Kuczkowski, last modified by Manish Hasija 06 Jun 2007, at 06:32 AM

Packages and ad_form 

The session covered packages creation and developing them using some of the OACS features. The second part of the session was about using ad_form to easily create and manage web forms.


Next Page
previous December 2025
Sun Mon Tue Wed Thu Fri Sat
30 1 2 3 4 5 6
7 8 9 10 11 12 13
(1) 14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 1 2 3

Popular tags

17 , 5.10 , 5.10.0 , 5.10.1 , 5.9.0 , 5.9.1 , ad_form , ADP , ajax , aolserver , asynchronous , bgdelivery , bootstrap , bugtracker , CentOS , COMET , compatibility , conference , CSP , CSRF , cvs , debian , docker , docker-compose , emacs , engineering-standards , exec , fedora , FreeBSD , guidelines
No registered users in community xowiki
in last 30 minutes
Contributors

OpenACS.org