Re: [Dspace-tech] Help with Video Streaming using files stored on Dspace

2015-01-29 Thread Evelthon Prodromou

Hi Bruno,


Not sure if this helps, I did an implementation a few years back that 
had the ability to move your player seek bar forward (pseudo-seek) for 
dspace 1.7.0/Mirage theme. Have a look at 
http://sourceforge.net/p/dspace/mailman/message/29547581/


You can see an example at 
http://lekythos.library.ucy.ac.cy/handle/10797/5826


All the best,

Evelthon Prodromou




On 01/28/2015 07:39 PM, Peter Dietz wrote:

Hi Bruno,

It's been discussed, but never solved. Currently, many sites have done 
psuedo streaming, which is actually progressive download (wait, and 
let the video buffer, and then start playback, but does not allow you 
to seek/jump beyond what has been buffered).


https://wiki.duraspace.org/pages/viewpage.action?pageId=45548591

An approach that I/others have thought of is to have a video streaming 
service that can encode/streaming-serve video files for you. Either 
have it encode/stream on the fly, or on submission to DSpace, or a 
cron media filter process, have the video be sent to a 
streaming/encoding service that can process the video in the 
background, and maybe give you a url for where a streamable version of 
the file might reside. I'm thinking, what if you built an integration 
with YouTube, that original video's submitted to DSpace, then get 
uploaded to youtube in the background. Once YouTube is ready, the 
curation task could add some metadata to your item, and your UI just 
plays a youtube video. Your repository would still have an archival 
copy of the video.




Peter Dietz
Longsight
www.longsight.com http://www.longsight.com
pe...@longsight.com mailto:pe...@longsight.com
p: 740-599-5005 x809 tel:740-599-5005%20x809

On Wed, Jan 28, 2015 at 12:27 PM, Bruno Zanette 
brunonzane...@gmail.com mailto:brunonzane...@gmail.com wrote:


Does someone have any experience on streaming videos that are stored
on Dspace in a way that is possible to seek a timestamp?

I've done some tests and i've managed to play the video, but i
couldn't seek a specific timestamp. I've did some research and found
out that it's because the methods which answers the requests don't
have support for byte-range headers. Is this right?

I've also found this article/library [1] that implements these kind of
responses, and i'm thinking about trying to append it to Dspace code,
but first i would like to know if someone have already done this (or
something like this), and also if there is an easier way to achieve
this.

[1] -
http://balusc.blogspot.co.uk/2009/02/fileservlet-supporting-resume-and.html

Any help is very welcome!!!

Thanks!

--
Bruno Nocera Zanette
+55 41 9992-2508 tel:%2B55%2041%209992-2508


--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot
Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and
more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
mailto:DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech
List Etiquette:
https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette




--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/


___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech
List Etiquette: https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette


--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech
List Etiquette: https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette

Re: [Dspace-tech] Pseudo flash streaming with seeking in Mirage

2012-07-17 Thread Evelthon Prodromou
Hi Tom,


Haven't tried it, You would need to alter the xsl file and somehow use a
for-each statement.


All the best,


Evelthon


On 07/16/2012 06:15 PM, Thomas Misilo wrote:

 Hi Evelthon,

  

 I was wondering if this supports having more than 1 video file per item?

  

 Thanks,

  

 Tom

  

 *From:*Evelthon Prodromou [mailto:prodromou.evelt...@ucy.ac.cy]
 *Sent:* Monday, July 16, 2012 7:57 AM
 *To:* dspace-tech@lists.sourceforge.net
 *Subject:* [Dspace-tech] Pseudo flash streaming with seeking in Mirage

  

 Hello everyone,

 I 've written a small how-to on pseudo flash streaming with seeking
 http://prodromou.eu/2012/07/flash-streaming-in-dspace/, on Mirage
 theme. It's quite easy, and you should be able to reproduce it
 yourselves. What's nice in this case is the ability to move to parts
 of the video that were not downloaded.

 Not sure if this was described before, but i thought of sharing in
 case anyone else is interested.


 All the best,

 Evelthon


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


[Dspace-tech] Pseudo flash streaming with seeking in Mirage

2012-07-16 Thread Evelthon Prodromou
Hello everyone,

I 've written a small how-to on pseudo flash streaming with seeking
http://prodromou.eu/2012/07/flash-streaming-in-dspace/, on Mirage
theme. It's quite easy, and you should be able to reproduce it
yourselves. What's nice in this case is the ability to move to parts of
the video that were not downloaded.

Not sure if this was described before, but i thought of sharing in case
anyone else is interested.


All the best,

Evelthon

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


[Dspace-tech] Creating md5 sums for external links and lighttpd

2012-04-25 Thread Evelthon Prodromou
Goodmorning everyone,


I am investigating the possibility of using lighttpd's secdownload
module to use expiring links. I'd like to use those in metadata, so that
a link will be valid if viewed within a dspace record, yet inaccessible
if hard linked directly. Just to be clear, these files are not hosted by
dspace.

At first i tried implementing lighttpd's instructions in item-view.xsl,
but creating and md5 sum seems to be next to impossible.

Lighttpd offers ready to use source codes for many languages, including
java, at
http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModSecDownload#Examples.
If i was to use that, where should i add that piece of code and how
should i call it to have the generated hash value in item-view.xsl ?


Many thanks,


Evelthon.
attachment: prodromou_evelthon.vcf--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


Re: [Dspace-tech] Creating md5 sums for external links and lighttpd

2012-04-25 Thread Evelthon Prodromou
Hi Helix,

Thanks for the reply. I will look into it.

I'm working with lighttpd to host large video files. It seems to be
working but i still have to make some more checks. My problem is that
the url pointing to the file is viewable in the source code leading to
the possibility of a third party linkining to the file. By using the
secdownload module, links expire after a certain amount of time, thus
discouraging direct linking.



Evelthon


On 04/25/2012 11:14 AM, helix84 wrote:
 On Wed, Apr 25, 2012 at 07:54, Evelthon Prodromou
 prodromou.evelt...@ucy.ac.cy wrote:
 If i was to use that, where should i add that piece of code and how
 should i call it to have the generated hash value in item-view.xsl ?
 Hi Evelthon,

 actually there already is an MD5 checksum calculated for each
 bitstream. It's easy to construct the URL in XSL - in your stylesheet
 override the xsl:template match=mets:file from item-view.xsl.
 You'll need to add the
 xmlns:util=org.dspace.app.xmlui.utils.XSLUtils
 xmlns:exdate=http://exslt.org/dates-and-times;
 attributes to the stylesheet tag
 and util and exdate to its exclude-result-prefixes attribute.

 To construct the URL, use these values down in a href:
 xsl:value-of select=@CHECKSUM/
 xsl:value-of select=exdate:date-time()/

 That's the easy part - displaying the link. Now to actually make that
 link work, you have to change
 dspace-xmlui/dspace-xmlui-webapp/src/main/webapp/sitemap.xmap
 starting from
 map:match pattern=bitstream/handle/*/*/**
 to include the new parameters - checksum and timestamp.

 Then you have to make use of those parameters in
 [dspace-src]/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/cocoon/BitstreamReader.java

 That should be enough to point you in the right direction.

 Anyway, I'm wondering what's the reason you want to do this?

 Regards,
 ~~helix84


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


Re: [Dspace-tech] Creating md5 sums for external links and lighttpd

2012-04-25 Thread Evelthon Prodromou
I don't think the generated bitstream checksum can be used in this
case.  The sum needed in lighttpd's case is the md5 sum of a
concatenated string. The string is made up of a secret pass, the file
name with a forward slash in front, and a time string that was
previously converted to it's hex value.

On the other hand i don't think one can trust the HTTP referer since it
can be manipulated.

Evelthon




On 04/25/2012 11:41 AM, helix84 wrote:
 On Wed, Apr 25, 2012 at 10:37, Evelthon Prodromou
 prodromou.evelt...@ucy.ac.cy wrote:
 I'm working with lighttpd to host large video files. It seems to be
 working but i still have to make some more checks. My problem is that
 the url pointing to the file is viewable in the source code leading to
 the possibility of a third party linkining to the file. By using the
 secdownload module, links expire after a certain amount of time, thus
 discouraging direct linking.
 You might want to prefer solving that on the file server side by
 checking HTTP referer instead of on the DSpace side.

 If you insist on doing that in DSpace, you can store the
 pre-calculated checksum of externally hosted files in metadata and
 only calculate the timestamp on page display.

 Regards,
 ~~helix84


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


Re: [Dspace-tech] How to clear all monthly reports and start from the beginning

2011-11-29 Thread Evelthon Prodromou
Hello Stuart,

Thank you for your reply. I followed you suggestion. There was indeed a
rogue SQL query, the one below.

SELECT COUNT(*) AS num FROM item WHERE in_archive = true AND withdrawn =
false  AND item_id IN ( SELECT item_id FROM metadatavalue WHERE
metadata_field_id = ( SELECT metadata_field_id  FROM
metadatafieldregistry  WHERE element = 'date'  AND qualifier =
'accessioned')  AND text_value::timestamp  '2011-11-01'::timestamp  AND
text_value::timestamp  '2011-11-30'::timestamp )  AND item_id IN (
SELECT item_id FROM metadatavalue WHERE text_value LIKE '%Thesis or
Dissertation%' AND metadata_field_id = ( SELECT metadata_field_id  FROM
metadatafieldregistry  WHERE element = 'type'  AND qualifier IS NULL) )

The last subquery, SELECT metadata_field_id  FROM metadatafieldregistry 
WHERE element = 'type'  AND qualifier IS NULL, return two results
instead of one. I don't think this error was caused by dspace itself (
running v 1.7.0) but due to a plug-in installed for Europeana, a few
months back. The plug-in adds another namespace for Europeana. The two
(hint!) rows returned are the following:

- element = type, qualifier = null, scope_note = Nature or genre of content
- element = type, qualifier = null, scope_note = The element's type
(TEXT, IMAGE, SOUND, VIDEO)

This query does not take into account the metadata_schema_id column,
which is the only difference between the two rows above. The first one
has a metadata_schema_id =1, and the second one equals 2.

The europeana schema has another type field. I changed the qualifier
for  that to 1 (just so it is not NULL), to test it out, and all scripts
related to statistics worked like a charm.


I will do some tests to see if it plays well with europeana during
future weeks and see how it goes.


Thanks again,

Evelthon


On 11/28/2011 07:39 PM, Stuart Lewis wrote:
 Hi Evelthon,

 If you enable DEBUG logging in DSpace, and then re-run the command, the 
 dspace.log file should show the SQL that is failing.  If you could show us 
 that, it might help to work out where the error is.  My guess is a bad value 
 in the dspace statistics config file, but the SQL should help.

  - 
 https://wiki.duraspace.org/display/DSPACE/TechnicalFaq#TechnicalFaq-SettingloggingleveluptoDEBUG

 Thanks,


 Stuart Lewis
 Digital Development Manager
 Te Tumu Herenga The University of Auckland Library
 Auckland Mail Centre, Private Bag 92019, Auckland 1142, New Zealand
 Ph: +64 (0)9 373 7599 x81928



 On 29/11/2011, at 1:42 AM, Evelthon Prodromou wrote:

 Hello again,

 I am asking once more in case someone missed my last email. It will be 
 really helpful if anyone can point me to the right direction.

 I did the following since my last email. I edited dstat.cfg and changed 
 start.year to 2001 and start.month to 11. I then cleared  /[dspace]/reports 
 and executed dspace stat-initial. Still the same problem.


 Many thanks,


 Evelthon

 On 11/19/2011 11:58 PM, Evelthon Prodromou wrote:
 Hello everyone,

 I am facing an issue with dspace 17.0 and monthly reports. We are moving
 collections from greenstone to dspace. The monthly reports worked fine
 up to 02/2011.  Seems like whenever a stat-* command is run it returns
 the error below.
 -
 Exception: ERROR: more than one row returned by a subquery used as an
 expression
 org.postgresql.util.PSQLException: ERROR: more than one row returned by
 a subquery used as an expression
 at
 org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1531)
 at
 org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1313)
 at
 org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
 at
 org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
 at
 org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:354)
 at
 org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:258)
 at
 org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
 at
 org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
 at
 org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
 at
 org.dspace.storage.rdbms.DatabaseManager.query(DatabaseManager.java:284)
 at
 org.dspace.storage.rdbms.DatabaseManager.querySingle(DatabaseManager.java:330)
 at
 org.dspace.app.statistics.LogAnalyser.getNumItems(LogAnalyser.java:1249)
 at
 org.dspace.app.statistics.LogAnalyser.processLogs(LogAnalyser.java:498)
 at
 org.dspace.app.statistics.CreateStatReport.statInitial(CreateStatReport.java:259)
 at
 org.dspace.app.statistics.CreateStatReport.main(CreateStatReport.java:129)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method

Re: [Dspace-tech] How to clear all monthly reports and start from the beginning

2011-11-28 Thread Evelthon Prodromou
Hello again,

I am asking once more in case someone missed my last email. It will be
really helpful if anyone can point me to the right direction.

I did the following since my last email. I edited dstat.cfg and changed
start.year to 2001 and start.month to 11. I then cleared 
/[dspace]/reports and executed /dspace stat-initial/. Still the same
problem.


Many thanks,


Evelthon


On 11/19/2011 11:58 PM, Evelthon Prodromou wrote:
 Hello everyone,

 I am facing an issue with dspace 17.0 and monthly reports. We are moving
 collections from greenstone to dspace. The monthly reports worked fine
 up to 02/2011.  Seems like whenever a stat-* command is run it returns
 the error below.
 -
 Exception: ERROR: more than one row returned by a subquery used as an
 expression
 org.postgresql.util.PSQLException: ERROR: more than one row returned by
 a subquery used as an expression
 at
 org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1531)
 at
 org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1313)
 at
 org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
 at
 org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
 at
 org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:354)
 at
 org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:258)
 at
 org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
 at
 org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
 at
 org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
 at
 org.dspace.storage.rdbms.DatabaseManager.query(DatabaseManager.java:284)
 at
 org.dspace.storage.rdbms.DatabaseManager.querySingle(DatabaseManager.java:330)
 at
 org.dspace.app.statistics.LogAnalyser.getNumItems(LogAnalyser.java:1249)
 at
 org.dspace.app.statistics.LogAnalyser.processLogs(LogAnalyser.java:498)
 at
 org.dspace.app.statistics.CreateStatReport.statInitial(CreateStatReport.java:259)
 at
 org.dspace.app.statistics.CreateStatReport.main(CreateStatReport.java:129)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at
 org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:183)

 -
  Since we have not yet gone public on dspace, it is of no problem to
 just clear everything out and start our monthly reports from scratch.
 Any pointers on how can that be accomplished?

 Thanks



 --
 All the data continuously generated in your IT infrastructure 
 contains a definitive record of customers, application performance, 
 security threats, fraudulent activity, and more. Splunk takes this 
 data and makes sense of it. IT sense. And common sense.
 http://p.sf.net/sfu/splunk-novd2d


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

attachment: prodromou_evelthon.vcf--
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


[Dspace-tech] How to clear all monthly reports and start from the beginning

2011-11-19 Thread Evelthon Prodromou
Hello everyone,

I am facing an issue with dspace 17.0 and monthly reports. We are moving
collections from greenstone to dspace. The monthly reports worked fine
up to 02/2011.  Seems like whenever a stat-* command is run it returns
the error below.
-
Exception: ERROR: more than one row returned by a subquery used as an
expression
org.postgresql.util.PSQLException: ERROR: more than one row returned by
a subquery used as an expression
at
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1531)
at
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1313)
at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:354)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:258)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at
org.dspace.storage.rdbms.DatabaseManager.query(DatabaseManager.java:284)
at
org.dspace.storage.rdbms.DatabaseManager.querySingle(DatabaseManager.java:330)
at
org.dspace.app.statistics.LogAnalyser.getNumItems(LogAnalyser.java:1249)
at
org.dspace.app.statistics.LogAnalyser.processLogs(LogAnalyser.java:498)
at
org.dspace.app.statistics.CreateStatReport.statInitial(CreateStatReport.java:259)
at
org.dspace.app.statistics.CreateStatReport.main(CreateStatReport.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:183)

-
 Since we have not yet gone public on dspace, it is of no problem to
just clear everything out and start our monthly reports from scratch.
Any pointers on how can that be accomplished?

Thanks

-- 
Evelthon Prodromou
 

attachment: prodromou_evelthon.vcf--
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech