josemmo / rosetta Goto Github PK
View Code? Open in Web Editor NEW๐ A free (libre) Integrated Library System for the 21st century
License: GNU General Public License v3.0
๐ A free (libre) Integrated Library System for the 21st century
License: GNU General Public License v3.0
Create homepage template with basic search form.
Create minimal Rosetta entities skeleton to start testing search functionalities.
Such entities are AbstractEntity
, AbstractWork
, Book
, Edition
, etc.
Choose and implement a powerful and simple system/library for translating strings.
Implement a way for fetching entity covers/images as Z39.50 doesn't allow for this functionality.
Create search results template.
Implement combineGroupedResults
method from SearchEngine
class.
Fatal app crash, probably due to a stack overflow on infinite recursion in SearchQuery
service:
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 262144 bytes) in /rosetta/src/RosettaBundle/Query/SearchQuery.php on line 84
Add holdings from Google Books.
Requires issue #10.
Implement method to convert MARC21 syntax to entities (instances of AbstractEntity
child classes).
When getting results from providers, assign an internal unique ID to each entity:
[databaseId]:[remoteId]
For example, in the case of an INNOPAC provider with database ID equal to "uva":
uva:b1669313
rosetta/src/RosettaBundle/Provider/Z3950.php
Lines 188 to 197 in 490264f
PHP Fatal error: Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Call to a member function addHolding() on boolean in D:\Workspace\www\_GITHUB_\rosetta\src\RosettaBundle\Provider\Z3950.php:195
Stack trace:
#0 D:\Workspace\www\_GITHUB_\rosetta\src\RosettaBundle\Provider\Z3950.php(106): App\RosettaBundle\Provider\Z3950->parseResult(Object(SimpleXMLElement))
#1 D:\Workspace\www\_GITHUB_\rosetta\src\RosettaBundle\Service\SearchEngine.php(75): App\RosettaBundle\Provider\Z3950->getResults()
#2 D:\Workspace\www\_GITHUB_\rosetta\src\RosettaBundle\Service\SearchEngine.php(44): App\RosettaBundle\Service\SearchEngine->getResultsFromSources(Object(App\RosettaBundle\Utils\SearchQuery), Array)
#3 D:\Workspace\www\_GITHUB_\rosetta\src\Command\SearchCommand.php(57): App\RosettaBundle\Service\SearchEngine->search(Object(App\RosettaBundle\Utils\SearchQuery), Array)
#4 D:\Workspace\www\_GITHUB_\rosetta\vendor\symfony\console\Command\Command.php(255): App\Command\SearchCommand->execute(Object(Symfony\Component\Console\Input\ArgvI in D:\Workspace\www\_GITHUB_\rosetta\src\RosettaBundl
e\Provider\Z3950.php on line 195
Add configuration section for setting custom featured links (homepage) and top links (header).
Implement or delete INNOPAC provider, depending on reasons external to the development of this project.
Implement AbstractLocation
class methods and subclasses.
When encountered with non-representable UNIX dates (e.g. "1547-09-29"), IntlDateFormatter::format
returns false
.
Steps to reproduce:
Implement authentication for Z39.50 provider.
Now that deployment is (almost) ready, all commits should be pushed to a new branch (eg develop
) so that only code sent to master
is deployed to the staging server.
Implement results parser for GoogleBooks provider.
The entity Relation
is bit special as is read the same way from left to right as from right to left.
As far as I know, this arquitecture is not directly supported by Doctrine ORM, so some pre-processing should be done before giving control of the entity over to Doctrine.
Implement class Relation
between AbstractEntity
s.
Deploy as Heroku app after testing on Travis.
Design and implement a system for tracking the source (origin) of a search result (AbstractEntity
).
Create SearchQuery
to standardize queries between providers and allow for query conversion between protocols and syntaxes.
Fetch additional data and relations from Wikidata.
Create item details template. Should allow for multiple templates depending on AbstractEntity
type.
Create provider for movies, documentaries and TV shows.
Steps to reproduce:
Update Node dependencies when patch is released to fix https://github.com/symfony/webpack-encore caused by https://github.com/terser-js/terser minifier:
app.cc2b6723.js from Terser
TypeError: Cannot read property 'minify' of undefined
at minify (/home/travis/build/josemmo/rosetta/node_modules/terser-webpack-plugin/dist/minify.js:175:23)
at TaskRunner.boundWorkers (/home/travis/build/josemmo/rosetta/node_modules/terser-webpack-plugin/dist/TaskRunner.js:68:40)
at enqueue (/home/travis/build/josemmo/rosetta/node_modules/terser-webpack-plugin/dist/TaskRunner.js:89:14)
at tasks.forEach (/home/travis/build/josemmo/rosetta/node_modules/terser-webpack-plugin/dist/TaskRunner.js:109:9)
at Array.forEach (<anonymous>)
at TaskRunner.run (/home/travis/build/josemmo/rosetta/node_modules/terser-webpack-plugin/dist/TaskRunner.js:87:11)
at TerserPlugin.optimizeFn (/home/travis/build/josemmo/rosetta/node_modules/terser-webpack-plugin/dist/index.js:224:18)
at AsyncSeriesHook.eval [as callAsync] (eval at create (/home/travis/build/josemmo/rosetta/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:12:1)
at AsyncSeriesHook.lazyCompileHook (/home/travis/build/josemmo/rosetta/node_modules/tapable/lib/Hook.js:154:20)
at hooks.additionalAssets.callAsync.err (/home/travis/build/josemmo/rosetta/node_modules/webpack/lib/Compilation.js:1311:36)
at AsyncSeriesHook.eval [as callAsync] (eval at create (/home/travis/build/josemmo/rosetta/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:9:1)
at AsyncSeriesHook.lazyCompileHook (/home/travis/build/josemmo/rosetta/node_modules/tapable/lib/Hook.js:154:20)
at hooks.optimizeTree.callAsync.err (/home/travis/build/josemmo/rosetta/node_modules/webpack/lib/Compilation.js:1307:32)
at AsyncSeriesHook.eval [as callAsync] (eval at create (/home/travis/build/josemmo/rosetta/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:9:1)
at AsyncSeriesHook.lazyCompileHook (/home/travis/build/josemmo/rosetta/node_modules/tapable/lib/Hook.js:154:20)
at Compilation.seal (/home/travis/build/josemmo/rosetta/node_modules/webpack/lib/Compilation.js:1244:27)
at hooks.make.callAsync.err (/home/travis/build/josemmo/rosetta/node_modules/webpack/lib/Compiler.js:624:17)
at _err0 (eval at create (/home/travis/build/josemmo/rosetta/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:11:1)
at _addModuleChain (/home/travis/build/josemmo/rosetta/node_modules/webpack/lib/Compilation.js:1095:12)
at processModuleDependencies.err (/home/travis/build/josemmo/rosetta/node_modules/webpack/lib/Compilation.js:1007:9)
at processTicksAndRejections (internal/process/next_tick.js:74:9)
Allow for advanced search query commands to be translated to the app language, as specified by the configuration of the environment. For example, this query string:
autor:'Cervantes, Miguel de' Y (titulo:%quijote% O titulo:'la galatea' O titulo:%galatea%)
Should be translated into this:
author:'Cervantes, Miguel de' AND (title:%quijote% OR title:'la galatea' OR title:%galatea%)
IMPORTANT NOTE: English search queries should always be accepted for accessibility.
For some reason, Travis hangs when building YAZ PECL extension. This extension is required for Rosetta to work and thus needs to be properly tested.
Manage entity image URLs internally instead of on the client side. This will improve performance (caching is a must) and removed Cross-Origin conflicts.
Cached results in database from
php bin/console rosetta:search kurose
are different from
php bin/console rosetta:search kurose --databases=ub
php bin/console rosetta:search kurose
and in the end they should be the same.
Related to issue #45.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.