Git Product home page Git Product logo

openmediadesk / openmediadesk Goto Github PK

View Code? Open in Web Editor NEW
14.0 4.0 1.0 17.62 MB

Web based image database, filesharing, photo, media hosting and video streaming platform in java

Home Page: https://openmediadesk.org

License: Apache License 2.0

Batchfile 0.01% JavaScript 20.65% FreeMarker 0.30% Smarty 0.04% Java 77.64% CSS 1.22% HTML 0.16%
filesharing photo-gallery java picture-gallery dam digital-asset-management filehosting ftp-alternatives video-streaming imagemagick

openmediadesk's Introduction

openMEDIADESK

Die deutsche Übersetzung ist unterhalb zu finden

Getting Startet

openMEDIADESK is a photo, filehosting and videostreaming web application.

System Requirements

  • Java 8
  • Servlet Engine z.B. Tomcat 8
  • MySQL Datenbank
  • ImageMagick
  • ffmpeg

Installation of the development environment

openMEDIADESK is developed with the IDE Intellij IDEA. The project file is mediadesk.ipr

Deployment

The latest stable version can be downloaded at http://get.openmediadesk.org/stable. The .war file is then integrated into the Tomcat. An exact installation guide can be found in the Wiki.

Build With

  • Gradle

Contributing

Please read CONTRIBUTING.md for details on our Code of Conduct and the process for submitting pull requests to us.

Authors

License

This project is licensed under the Apache 2 License - see the LICENSE file for details

Copyright 2018 by Franz STUMPNER ([email protected])

Frameworks used by openMEDIADESK

LINKS

Download binary/war: http://get.openmediadesk.org

German Version

Erste Schritte

openMEDIADESK ist eine Foto, Filehosting und Videostreaming Webapplikation.

Systemvoraussetzungen

  • Java 8
  • Servlet Engine z.B. Tomcat 8
  • MySQL Datenbank
  • ImageMagick
  • ffmpeg

Installation der Entwicklungsumgebung

openMEDIADESK wird mit der IDE Intellij IDEA entwickelt. Das Projektfile lautet mediadesk.ipr

Deployment

Die aktuellste stabile Version kann unter http://get.openmediadesk.org/stable heruntergeladen werden. Die .war - Datei wird dann in den Tomcat eingebunden. Eine genaue Installationsanleitung ist im Wiki zu finden

Build With

  • Gradle

Mitarbeit

Bitte lesen Sie CONTRIBUTING.md für Details zu unserem Verhaltenskodex und den Prozess für das Einreichen von Pull-Anfragen an uns.

Autoren

Lizenz

This project is licensed under the Apache 2 License - see the LICENSE file for details

Copyright 2018 by Franz STUMPNER ([email protected])

Frameworks used by openMEDIADESK

LINKS

Download unter http://get.openmediadesk.org

openmediadesk's People

Contributors

stumpner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

whitecode97

openmediadesk's Issues

Download all - Button

A good enhancement would be when a "download all" button appears in the PIN share

grafik

It would be synonymous to consider whether that would also be a good function for folders.

Videos im Hauptordner lassen sich nicht streamen

Hier gibt es ein Berechtigungsproblem. Wenn ein Video nur im Hauptordner vorkommt, dann gibt es für dieses Video keine Berechtigungseinstellung. Daher kann dieses Video dann auch nicht gestreamt werden.
Videos und auch andere Medienobjekte im Hauptordner werden auch von der Suche nicht gefunden.

Bilder automatisch drehen

Bilder (z.B. Hochformat) sollten beim hochladen automatisch gedreht werden. Die gängigsten Betriebssysteme machen das automatisch, daher sollte das auch bei openmediadesk so sein. Man hat sonst lauter liegende Bilder.

Downscale video to save bandwidth and avoid stream-buffering

Since mediadesk uses the original video for streaming there might be a problem that the stream buffers because of low bandwith.
A new function should downscale videos in different resolutions to save bandwith on low bandwith connections or devices with small screens.

This function is needed also here #10

Infos on ffmpeg see

MySQL Verbindung bricht trotz reconnect ab (CommunicationsException)

Es kommt immer wieder vor dass die Verbindung zur MySQL Datenbank abbricht obwohl autoReconnect auf true gestellt ist. Möglicherweise bringt ein Update auf den neuesten JDBC Treiber die Lösung.

Tritt auf in Release 2017rtm

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was85482 milliseconds ago.The last packet sent successfully to the server was 85471 milliseconds ago, which is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem. at sun.reflect.GeneratedConstructorAccessor369.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074) at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3270) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1932) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2554) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1761) at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1021) at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:185) at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteQuery(MappedStatement.java:221) at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:189) ... 50 more Caused by: java.net.SocketException: Broken pipe (Write failed) at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111) at java.net.SocketOutputStream.write(SocketOutputStream.java:155) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.write(BufferedOutputStream.java:126) at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3249) ... 58 more

MySQLSyntaxErrorException when calling statistic page

When opening the statistik page the following exception is thrown:

com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred while applying a parameter map.
--- Check the getAllDownloadedPics-InlineParameterMap.
--- Check the statement (query failed).
--- Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'mediadesk.downloadlogger.downloaddate' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
        at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:201)
        at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139)
        at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567)
        at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541)
        at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
        at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:94)
        at com.stumpner.mediadesk.core.database.sc.DownloadLoggerService.getAllDownloadedPics(DownloadLoggerService.java:122)
        at com.stumpner.mediadesk.web.api.rest.StatisticRestApi.doGet(StatisticRestApi.java:128)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at com.stumpner.mediadesk.web.servlet.filter.MediadeskRedirectFilter.doFilter(MediadeskRedirectFilter.java:50)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
        at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:868)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)

No search results (sql error)

In Version 2017rtm there is an error with the search. No results are shown.

An SQL Error is thrown:

com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred while applying a parameter map.
--- Check the getImageQuery-InlineParameterMap.
--- Check the statement (query failed).
--- Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column    'imagenumber' in 'field list'
        at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:201)
        at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139)
        at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567)
        at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541)
        at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
        at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:94)
        at com.stumpner.mediadesk.core.database.sc.MediaSearchService.getImageQuery(MediaSearchService.java:137)
        at com.stumpner.mediadesk.web.api.rest.SearchresultRestApi.getSearchResultFromSession(SearchresultRestApi.java:249)
        at com.stumpner.mediadesk.web.api.rest.SearchresultRestApi.jsonFolderMedialist(SearchresultRestApi.java:122)
        at com.stumpner.mediadesk.web.api.rest.SearchresultRestApi.doGet(SearchresultRestApi.java:87)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at com.stumpner.mediadesk.web.servlet.filter.MediadeskRedirectFilter.doFilter(MediadeskRedirectFilter.java:50)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:221)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
        at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)`

PIN-Download with select all results in NullPointerException

When opening a PIN share and select "highlight all" and "download" in the menu then there is an HTTP500 Error and a NUllpointerException

grafik

Error occurs in Version 2018n20180407

Aug 23, 2018 7:57:16 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [downloadServlet] in context with path [] threw exception
java.lang.NullPointerException
        at com.stumpner.mediadesk.web.servlet.DownloadServlet.getImageList(DownloadServlet.java:653)
        at com.stumpner.mediadesk.web.servlet.DownloadServlet.doGet(DownloadServlet.java:76)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at com.stumpner.mediadesk.web.servlet.filter.MediadeskRedirectFilter.doFilter(MediadeskRedirectFilter.java:50)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:221)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
        at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)

PIN-Manager open pin by table row

In order to increase the usability it should be possible to click on the line of the pin in the table to show the pictures / files:

grafik

Exception on Startup after Upgrading to v2018

here is the stacktrace

custom Template: bootstrap custom Template: bootstrap com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in sqlmap/user.xml. --- The error occurred while applying a parameter map. --- Check the getUserByName-InlineParameterMap. --- Check the statement (query failed). --- Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'homefolderid' in 'field list' at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:201) at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForObject(MappedStatement.java:120) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:518) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:493) at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106) at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:82) at com.stumpner.mediadesk.core.database.sc.UserService.getByName(UserService.java:137) at com.stumpner.mediadesk.core.WebContextListener.doAndReloadConfiguration(WebContextListener.java:247) at com.stumpner.mediadesk.core.WebContextListener.contextInitialized(WebContextListener.java:145) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4812) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5255) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:939) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1812) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

Upload wird nicht mehr angezeigt

Bei Commit 4261b64 wird das Upload-Symbol nicht mehr angezeigt.
Das hat sicher mit der Zusammenräumaktion zu tun.
Wenn man als Admin eingeloggt ist funktioniert es

setAttribute("canUpload")

Slideshow Function

It should be possible to play the pictures in a folder as a slideshow. Maybe in the view Menu.

RSS Feed / Podcast Link issue

The URL in the guid Link http://mediadesk/index/ppreview?id=118453 and link http://mediadesk/index/ppreview?id=118453 does not open or exist.

It might be that from the new bootstrap templates the URL has changed. URLs in the form http://xyz/index/ppreview?id={objectid} do nothing.

It should return the preview of the media like https://demo.openmediadesk.net/de/c?id=72#/906


<item>
<guid isPermaLink="false">http://mediadesk/index/ppreview?id=118453</guid>
<title>11hmedia1206.mp3</title>
<itunes:author>lounge.fm - mediaDESK</itunes:author><itunes:subtitle>no subtitle</itunes:subtitle><itunes:summary>summary</itunes:summary><itunes:duration>02:01</itunes:duration><itunes:keywords>no keywords</itunes:keywords><description>
	<![CDATA[
<p></p>
 ]]>
</description>
<enclosure url="http://mediadesk/podcast/object/118453/11hmedia1206.mp3" length="3882000" type="audio/mpeg"/>
<link>http://mediadesk/index/ppreview?id=118453</link>
<pubDate>Tue, 12 Jun 2018 10:16 +0200</pubDate>
</item>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.