Re: [Dspace-tech] Install dspace unsucessful

2009-04-01 Thread Panyarak Ngamsritragul

Thanks for additional info.  I am now starting from the first step using 
Ubuntu's repository management system.  At the moment, I finished 
installing postgreSQL and now installing TomCat6.

In DSpace's installation instructions, I read:
Note that DSpace will need to run as the same user as Tomcat, so you 
might want to install and run Tomcat as a user called 'dspace'.

This is very confused as it should not be possible to install any software 
package without being 'root' in Unix like system.

What should I do next ?

Panyarak

On Wed, 1 Apr 2009, Van Ly wrote:

 Hi Panyarak,

 For next time, you'll find the createuser/createdb steps need to be done 
 before the `ant fresh_install'. Something I use for testing is

 # su --login dspace -c 'dropdb -i dspace'
 # su --login postgres -c 'dropuser dspace'
 #
 # su --login postgres -c 'createuser -U postgres -S -R -c 35 -d dspace'
 # su --login dspace -c 'createdb -U dspace -E UTF8 -T template0 dspace 
 database for dspace'

 -- Van Ly


 From: Panyarak Ngamsritragul
 Sent: Wed 1/04/2009 12:01 PM
 To: dspace-tech@lists.sourceforge.net
 Subject: Re: [Dspace-tech] Install dspace unsucessful


 Thanks a lot for your information.  I did not record all the details I did
 last time(s).  Sometimes I was stopped at 'maven package' which I learned
 from others experiences that it was the file permission issue.  Sometimes
 it seemed that I successfully went through the 'ant fresh_install', but
 could not see anything when called from browser.  I rebuilt DSpace again
 and was stopped at 'ant fresh_install'

 Anyway, I will try again and let you know later.
 Thanks again.
 Panyarak

 On Tue, 31 Mar 2009, Mark H. Wood wrote:

 On Tue, Mar 31, 2009 at 10:07:47PM +0700, Panyarak Ngamsritragul wrote:
 As postgres, I tried to create a database:
createdb -U dspace -E UNICODE dspace

 But the command returned an error message:
 createdb: could not connect to database postgres: FATAL:  Ident
 authentication failed for user dspace

 Rightly so.  Your user process is owned by 'postgres', not 'dspace',
 and that is what the Ident daemon will report to PostgreSQL.  Your
 user and database credentials do not match, and that match is required
 for Ident authentication.

 It is possible to create the database when I 'sudo su dspace'.  This can
 even be done without specifying '-U dspace' in the command line.

 Yes.  Since the database/user pair in question is authenticated with
 Ident, the matching usernames are sufficient.

 Is there anything wrong in this step ?  I did do further to install the
 package, but finally failed.

 Well, I think that the command should be 'createdb -O dspace -E
 UNICODE dspace'.  The database needs to be owned by 'dspace' but it
 need not be *created by* 'dspace'.  You should be able to use the
 PostgreSQL superuser ('postgres') to create the database.

 But it sounds like you have created the database properly.  Maybe you
 should tell us how far you got and what the error was that has stopped you.



-- 
Panyarak Ngamsritragul
Department of Mechanical Engineering
Prince of Songkla University.

-- 
This message has been scanned for viruses and
dangerous content by MailScanner.


--
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


Re: [Dspace-tech] Install dspace unsucessful

2009-04-01 Thread Sean Carte
2009/4/1 Panyarak Ngamsritragul pa...@me.psu.ac.th:
 In DSpace's installation instructions, I read:
 Note that DSpace will need to run as the same user as Tomcat, so you
 might want to install and run Tomcat as a user called 'dspace'.

 This is very confused as it should not be possible to install any software
 package without being 'root' in Unix like system.

That should probably be might want to configure Tomcat to run as a
user called 'dspace'.

That instruction relates to the /etc/defaults/tomcat5.5 file:

TOMCAT5_USER=dspace

Sean
-- 
Sean Carte
esAL Library Systems Manager
+27 72 898 8775
+27 31 373 2490
fax: 0866741254
http://esal.dut.ac.za/

--
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


[Dspace-tech] Manakin and Admin Utilities With Apache Redirection

2009-04-01 Thread Sean Carte
I've been trying to get the XMLUI interface to work with Apache
redirection, but I can't access the admin utilities (everything else
works):

For example, this URL: http://10.4.36.18/admin/metadata-registry

results in this error:

HTTP Status 404 - /admin/metadata-registry
type Status report
message /admin/metadata-registry
description The requested resource (/admin/metadata-registry) is not available.

With this in the Apache access log:

10.4.36.100 - - [01/Apr/2009:08:09:29 +] GET
/admin/metadata-registry HTTP/1.0 404 1018 http://10.4.36.18/;
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko/2009032711
Ubuntu/8.10 (intrepid) Firefox/3.0.8

There's nothing in the dspace.log, nor in the Apache error log.

But if I switch over to the jspui interface, it all works:

10.4.36.100 - - [01/Apr/2009:08:15:54 +] GET
/dspace-admin/metadata-schema-registry HTTP/1.0 200 9649
http://10.4.36.18/dspace-admin/; Mozilla/5.0 (X11; U; Linux i686;
en-US; rv:1.9.0.8) Gecko/2009032711 Ubuntu/8.10 (intrepid)
Firefox/3.0.8
10.4.36.100 - - [01/Apr/2009:08:15:54 +] GET /styles.css.jsp
HTTP/1.0 20018497
http://10.4.36.18/dspace-admin/metadata-schema-registry; Mozilla/5.0
(X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko/2009032711 Ubuntu/8.10
(intrepid) Firefox/3.0.8

I have the following in /dspace/config/dspace.cfg:

dspace.url = http://10.4.36.18:8080/jspui
#dspace.url = http://10.4.36.18:8080/xmlui

And the following in /usr/share/tomcat5.5-webapps:

lrwxrwxrwx  1 root root   22 2009-04-01 09:58 ROOT - /dspace/webapps/jspui/
lrwxrwxrwx  1 root root   22 2009-03-26 10:16 ROOT_xmlui -
/dspace/webapps/xmlui/

When switching between the interfaces, I change the ROOT symlink and
the dspace.url appropriately, then restart tomcat.

I have the following in /etc/apache2/mods-enabled/proxy.conf:

ProxyPass  /  ajp://localhost:8009/
ProxyPassReverse  /  ajp://localhost:8009/

I have noticed that, when using the xml ui, if I append xmlui to the
URL, everything works, e.g.:

http://10.4.36.18/xmlui/admin/metadata-registry

But that's exactly what I hoped to avoid.

Have I gone wrong somewhere?

Sean
-- 
Sean Carte
esAL Library Systems Manager
+27 72 898 8775
+27 31 373 2490
fax: 0866741254
http://esal.dut.ac.za/

--
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


Re: [Dspace-tech] DSpace on Port 80

2009-04-01 Thread Sean Carte
2009/3/25 Mark H. Wood mw...@iupui.edu:
 That's an interesting approach.  When I want a Tomcat app. at the
 root, I create a Context descriptor file for it.  Let's say I have
 DSpace installed at /opt/dspace and I want its XMLUI to appear at the
 root.  Here Tomcat's configuration directory is /etc/tomcat-6, but
 that may be different for you so make the appropriate substitution.  I
 create /etc/tomcat-6/Catalina/localhost/ROOT.xml:

  Context docBase='/opt/dspace/webapps/xmlui'

    Parameter
      name=dspace-config
      value=/opt/dspace/config/dspace.cfg
      description=Path to the DSpace configuration file. /

  /Context

 and Tomcat will use /opt/dspace/webapps/xmlui as the root application.


Hi Mark

I just revisited this. That works well, and is a much better solution
than my symlinks in the default docBase.

Thanks!

Sean
-- 
Sean Carte
esAL Library Systems Manager
+27 72 898 8775
+27 31 373 2490
fax: 0866741254
http://esal.dut.ac.za/

--
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


[Dspace-tech] 1.5.X HandlePlugin and merging DSpace instances

2009-04-01 Thread Timo Aalto
Hi all,

I'm doing some research on how to retain Handle resolving on existing items
when merging several DSpace instances into one repository. When looking
at the DSpace 1.5.X handle plugin implementation I found this comment along
with corresponding code:

// This parameter allows the dspace handle server to be capable of having
multiple
// name authorities assigned to it. So long as the handle table the
alternative prefixes
// defined the dspace will answer for those handles prefixes. This is not
ideal and only
// works if the dspace instances assumes control over all the items in a
prefix, but it
// does allow the admin to merge together two previously separate dspace
instances each
// with their own prefixes and have the one instance handle both prefixes.
In this case
// all new handle would be given a unified prefix but all old handles would
still be
// resolvable.

This definetly sounds promising, but can anyone shed any light on this
feature? If it works as advertised then all I have to do is import the items
in a way that the old handles are retained in the database and somehow get
the Handle server configured for multiple prefixes, right? There seems to be
a only one mention of it on DSpace-tech and even then relating to Oracle
problems.

Thanks,
T
-- 
Timo Aalto
Planning Officer
University of Helsinki Library Coordination Unit
timo dot j dot aalto at helsinki dot fi
--
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


Re: [Dspace-tech] Install dspace unsucessful

2009-04-01 Thread Mark H. Wood
On Wed, Apr 01, 2009 at 02:46:06PM +0700, Panyarak Ngamsritragul wrote:
 Thanks for additional info.  I am now starting from the first step using 
 Ubuntu's repository management system.  At the moment, I finished 
 installing postgreSQL and now installing TomCat6.
 
 In DSpace's installation instructions, I read:
 Note that DSpace will need to run as the same user as Tomcat, so you 
 might want to install and run Tomcat as a user called 'dspace'.
 
 This is very confused as it should not be possible to install any software 
 package without being 'root' in Unix like system.

The account used to install software, and the account used to run it,
may be different.  The instructions here seem to be aimed at someone
who is installing Tomcat without the aid of a distribution's package
manager and solely for use with DSpace.  Since you are using Ubuntu's
package manager, it probably created a user account specifically for
Tomcat and installed the product to be run by that user.  I use Gentoo
Linux and the Tomcat packaged by Gentoo, and it does the same, setting
up Tomcat to run as a user named tomcat.

The important thing here is that the user account used to run Tomcat
must have sufficient access to the DSpace files.  If Tomcat is set up
to run as a user tomcat then I would install DSpace in such a way
that it is owned by tomcat, probably by just being 'su tomcat'
before installing.  You can use the 'root' account to create the
[DSpace] directory and set its ownership appropriately, before
installation.

It is difficult to document this process literally, because different
operating environments might use different account names.  If you have
some reason to run Tomcat as a particular user, then I would consider
every reference to dspace as a user account to be a placeholder for
the account that Tomcat uses, whatever that is.

-- 
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Friends don't let friends publish revisable-form documents.


pgpXkX1qNlkWm.pgp
Description: PGP signature
--
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


[Dspace-tech] Help with new map:action's

2009-04-01 Thread Rafael Henkin
Hi all,

 

We have developed new map:action's that insert information
of downloads, views and searches in a table. It appeared to run OK,
until we found out our problem in the other email I sent about spammers
(thousands of access from the same IP). After a more careful look at the
data, and more importantly, comparing the log files to the database, we
are thinking that there are a lot of rows being duplicated a lot of
times. It appears to be some sort of loop: what was supposed to be one
row is inserted 5 times, sometimes at the same second. There's one line
in the log file but various lines in the database.



We noticed that the problem seems to happen more (but not
exclusively) with bitstream downloads than the other pages, but so far
I'm clueless to what's causing it. We have several actions, one for each
kind of access (view, download, browse and search) and one generic
action that insert the row in the database, and is called by the other
ones. The last action is a simple class, the other ones extend
AbstractAction. Also, the database one commits the context, but I don't
know if there's anything else that must be done to ensure it's working
correctly.

 

Any help will be greatly appreciated.

 

Thanks,

 

Rafael Henkin

--
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


[Dspace-tech] Documentation errata for 1.5.2

2009-04-01 Thread Bradley McLean
I'm in process of merging documentation error reports since 1.5.1 into 
1.5.2.

If you have any additional edits or suggestions, please send them along 
to b...@dspace.org, and I'll try to edit them in.  Thanks!

-Brad

--
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


Re: [Dspace-tech] Install dspace unsucessful

2009-04-01 Thread Panyarak Ngamsritragul

Dear Mark,

Your explanation is quite clear and I think I have been doing in a wrong 
way.  Someone even document something like setting directories of tomcat6 
(e.g. /etc/tomcat6 /var/lib/tomcat6 /var/cache/tomcat6 and 
/var/log/tomcat6) to be owned by user 'dspace' !!

Well, I was silly enough (ignorance enough) to follow that and finally 
caused tomcat6 unable to start !

Another big point, I read from someone's document saying that a command 
like:

update-alternatives --set java /usr/lib/jvm//usr/lib/jvm/java-6-sun/jre/bin/java

is also needed.  (Specific to Ubuntu 8.10 with sun-java6-jdk package).  Do 
we have to run this command every time when server is rebooted ?

Panyarak
Prince of Songkla University

On Wed, 1 Apr 2009, Mark H. Wood wrote:

 On Wed, Apr 01, 2009 at 02:46:06PM +0700, Panyarak Ngamsritragul wrote:
 Thanks for additional info.  I am now starting from the first step using
 Ubuntu's repository management system.  At the moment, I finished
 installing postgreSQL and now installing TomCat6.

 In DSpace's installation instructions, I read:
 Note that DSpace will need to run as the same user as Tomcat, so you
 might want to install and run Tomcat as a user called 'dspace'.

 This is very confused as it should not be possible to install any software
 package without being 'root' in Unix like system.

 The account used to install software, and the account used to run it,
 may be different.  The instructions here seem to be aimed at someone
 who is installing Tomcat without the aid of a distribution's package
 manager and solely for use with DSpace.  Since you are using Ubuntu's
 package manager, it probably created a user account specifically for
 Tomcat and installed the product to be run by that user.  I use Gentoo
 Linux and the Tomcat packaged by Gentoo, and it does the same, setting
 up Tomcat to run as a user named tomcat.

 The important thing here is that the user account used to run Tomcat
 must have sufficient access to the DSpace files.  If Tomcat is set up
 to run as a user tomcat then I would install DSpace in such a way
 that it is owned by tomcat, probably by just being 'su tomcat'
 before installing.  You can use the 'root' account to create the
 [DSpace] directory and set its ownership appropriately, before
 installation.

 It is difficult to document this process literally, because different
 operating environments might use different account names.  If you have
 some reason to run Tomcat as a particular user, then I would consider
 every reference to dspace as a user account to be a placeholder for
 the account that Tomcat uses, whatever that is.



-- 
Panyarak Ngamsritragul
Department of Mechanical Engineering
Prince of Songkla University.

-- 
This message has been scanned for viruses and
dangerous content by MailScanner.


--
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


Re: [Dspace-tech] Install dspace unsucessful

2009-04-01 Thread Panyarak Ngamsritragul

Hi,

I reinstall dspace using 'tomcat6' as the user of tomcat6 and dspace's 
database...  The installation seems to be alright, I guess.  You may help 
to take a look at:

The result from 'mvn package'
http://www.me.psu.ac.th/~panya/dspace/mvn_package.txt

The result from 'ant fresh_install'
http://www.me.psu.ac.th/~panya/dspace/ant_fresh.txt

I chose to create a file at /etc/tomcat6/Catalina/localhost which looks 
like:
http://www.me.psu.ac.th/~panya/dspace/dspace.xml

When I restart tomcat6, a log file says many errors:
http://www.me.psu.ac.th/~panya/dspace/catalina.2009-04-01.log

Could someone tell me what could be the causes of these errors.

Thanks in advance.
Panyarak
Prince of Songkla University, Thailand.

On Wed, 1 Apr 2009, Panyarak Ngamsritragul wrote:

 Dear Mark,

 Your explanation is quite clear and I think I have been doing in a wrong
 way.  Someone even document something like setting directories of tomcat6
 (e.g. /etc/tomcat6 /var/lib/tomcat6 /var/cache/tomcat6 and
 /var/log/tomcat6) to be owned by user 'dspace' !!

 Well, I was silly enough (ignorance enough) to follow that and finally
 caused tomcat6 unable to start !

 Another big point, I read from someone's document saying that a command
 like:

 update-alternatives --set java 
 /usr/lib/jvm//usr/lib/jvm/java-6-sun/jre/bin/java

 is also needed.  (Specific to Ubuntu 8.10 with sun-java6-jdk package).  Do
 we have to run this command every time when server is rebooted ?

 Panyarak
 Prince of Songkla University

-- 
This message has been scanned for viruses and
dangerous content by MailScanner.


--
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


[Dspace-tech] Error while running indexer

2009-04-01 Thread Kim Griggs
We are updating from 1.4.2 to 1.5.1. When running the index-init we get the
following error:

java.lang.NoSuchMethodError: method java.util.Collections.addAll with
signature (Ljava.util.Collection;[Ljava.lang.Object;)Z was not found

Then the browse by pages either return 500 errors or no-indices found
messages. 

Any ideas on what could be causing the noMethod found error? We are not
adding any custom browse by fields and have checked things like java
versions and such.

Thanks.


--
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


Re: [Dspace-tech] Install dspace unsucessful

2009-04-01 Thread Panyarak Ngamsritragul

Maybe my last post contains too much information...
In the process of 'mvn package', there is a warning:
[WARNING] The following patterns were never triggered in this artifact 
exclusion filter: o  '*:war:*'

It reported finally that the process was successful.

Running 'ant fresh_install' was also successful.

I created dspace.xml containing

Context path=/dspace
docBase=/dspace/webapps/jspui debug=0
reloadable=true AllowLinking=true
CachingAllowed=false/

in /etc/tomcat6/Catalina/localhost and then restart tomcat6.
When I read the tomcat6's log file, it contains warnings and errors like:

Apr 1, 2009 10:37:15 PM org.apache.catalina.users.MemoryUserDatabase save
WARNING: User database is not persistable - no write permissions on directory

Apr 1, 2009 10:37:16 PM org.apache.catalina.core.StandardContext processTlds
SEVERE: Error reading tld listeners javax.servlet.ServletException: Exception 
processing TLD at resource path /WEB-INF/fmt.tld in context /dspace
javax.servlet.ServletException: Exception processing TLD at resource path 
/WEB-INF/fmt.tld in context /dspace
at org.apache.catalina.startup.TldConfig.tldScanTld(TldConfig.java:557)
at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:295)
at 
org.apache.catalina.core.StandardContext.processTlds(StandardContext.java:4448)
at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:4248)
at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at 
org.apache.catalina.core.ContainerBase.access$000(ContainerBase.java:123)
at 
org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run(ContainerBase.java:145)
at java.security.AccessController.doPrivileged(Native Method)
at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:769)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at 
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
at 
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at 
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at 
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at 
org.apache.catalina.core.StandardService.start(StandardService.java:516)
at 
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at 
org.apache.commons.daemon.support.DaemonLoader.start(DaemonLoader.java:177)
Caused by: java.security.AccessControlException: access denied 
(java.io.FilePermission /usr/share/java/jsp-api-2.1.jar read)
at 
java.security.AccessControlContext.checkPermission(AccessControlContext.java:342)
at 
java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.SecurityManager.checkRead(SecurityManager.java:888)
at java.util.zip.ZipFile.init(ZipFile.java:126)
at java.util.jar.JarFile.init(JarFile.java:150)
at java.util.jar.JarFile.init(JarFile.java:87)
at sun.net.www.protocol.jar.URLJarFile.init(URLJarFile.java:90)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:66)
at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:71)
at 
sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122)
at 
sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:150)
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown 
Source)
at 

[Dspace-tech] PSQLException OID ### does not exist

2009-04-01 Thread Kim Griggs
We are upgrading to 1.4.2 to 1.5. Java 1.5. Postgres 8.1.

After running the indexer we are getting internal errors on the high level
browse by pages. The error is:

org.postgresql.util.PSQLException: ERROR: relation with OID 54778762
does not exist

Oddly the community level browse bys work.

I read that it might be a postgres thing and upgrading to 8.3 might fix it.
Before I go through that I am looking for confirmation.

Has anyone seen this problem and how did you fix it?

Thanks.


--
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech