Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce a generic Netscape bookmark parser #607

Closed
18 tasks done
virtualtam opened this issue Jul 23, 2016 · 6 comments
Closed
18 tasks done

Introduce a generic Netscape bookmark parser #607

virtualtam opened this issue Jul 23, 2016 · 6 comments
Assignees
Labels
3rd party interoperability with third-party platforms cleanup code cleanup and refactoring docker containers & cloud enhancement tools developer tools
Milestone

Comments

@virtualtam
Copy link
Member

virtualtam commented Jul 23, 2016

TL;DR - Shaarli now requires Composer

  • this change introduces the usage of Composer to manage PHP dependencies
  • if you run Shaarli from the master branch, you need to install Composer, either system-wide or for your local user
  • once installed, use it to install/update PHP dependencies

Example usage:

$ cd path/to/shaarli

# if Composer is installed system-wide
$ composer update --no-dev

# if Composer is installed for your local user only
$ php path/to/composer.phar update --no-dev

Bio

TODO

v0.8.0

Post-release tasks

@virtualtam virtualtam added enhancement in progress cleanup code cleanup and refactoring tools developer tools 3rd party interoperability with third-party platforms labels Jul 23, 2016
@virtualtam virtualtam added this to the 0.8.0 milestone Jul 23, 2016
@virtualtam virtualtam self-assigned this Jul 23, 2016
@virtualtam virtualtam mentioned this issue Jul 23, 2016
43 tasks
virtualtam added a commit to virtualtam/Shaarli that referenced this issue Jul 23, 2016
Relates to shaarli#607
Relates to kafene/netscape-bookmark-parser#6

The Shaarli-forked version is checked out as a VCS repository.

Signed-off-by: VirtualTam <[email protected]>
virtualtam added a commit to virtualtam/Shaarli that referenced this issue Jul 23, 2016
Relates to shaarli#607

Archive creation process (tar, zip):
- let Composer resolve functional (no-dev) dependencies
- call git-archive to generate a release archive
- include 3rd-party dependencies to the generated archive

Signed-off-by: VirtualTam <[email protected]>
@ArthurHoaro
Copy link
Member

ArthurHoaro commented Jul 25, 2016

That's nice, and also a great step toward a proper dependency management.

virtualtam added a commit to virtualtam/Shaarli that referenced this issue Jul 25, 2016
Relates to shaarli#607

Archive creation process (tar, zip):
- let Composer resolve functional (no-dev) dependencies
- call git-archive to generate a release archive
- include 3rd-party dependencies to the generated archive

Signed-off-by: VirtualTam <[email protected]>
virtualtam added a commit to virtualtam/Shaarli that referenced this issue Jul 25, 2016
Relates to shaarli#607

Archive creation process (tar, zip):
- let Composer resolve functional (no-dev) dependencies
- call git-archive to generate a release archive
- include 3rd-party dependencies to the generated archive

Signed-off-by: VirtualTam <[email protected]>
virtualtam added a commit to virtualtam/Shaarli that referenced this issue Jul 28, 2016
Relates to shaarli#607
Relates to shaarli#608
Relates to shaarli#493 (abandoned)

Additions:
- use Composer's autoload to load 3rd-party dependencies under vendor/

Modifications:
- [router] use the same endpoint for bookmark upload/import dialog

WIP:
- [import] replace the current parser with a generic, stable parser

TODO:
- [index] display an error if 3rd-party dependencies are missing
- [template] add options for bookmark imports
  - flat vs. nested structure
  - default tags
  - default visibility
- [tests] ensure bookmarks are properly parsed and imported in the LinkDB
  - reuse reference input from the parser's test data

See:
- https://github.com/shaarli/netscape-bookmark-parser
- https://getcomposer.org/doc/01-basic-usage.md#autoloading

Signed-off-by: VirtualTam <[email protected]>
virtualtam added a commit to virtualtam/Shaarli that referenced this issue Jul 28, 2016
Relates to shaarli#607
Relates to shaarli#608
Relates to shaarli#493 (abandoned)

Additions:
- use Composer's autoload to load 3rd-party dependencies under vendor/

Modifications:
- [router] use the same endpoint for bookmark upload/import dialog

WIP:
- [import] replace the current parser with a generic, stable parser

TODO:
- [index] display an error if 3rd-party dependencies are missing
- [template] add options for bookmark imports
  - flat vs. nested structure
  - default tags
  - default visibility
- [tests] ensure bookmarks are properly parsed and imported in the LinkDB
  - reuse reference input from the parser's test data

See:
- https://github.com/shaarli/netscape-bookmark-parser
- https://getcomposer.org/doc/01-basic-usage.md#autoloading

Signed-off-by: VirtualTam <[email protected]>
virtualtam added a commit to virtualtam/Shaarli that referenced this issue Jul 28, 2016
Relates to shaarli#607
Relates to shaarli#608
Relates to shaarli#493 (abandoned)

Additions:
- use Composer's autoload to load 3rd-party dependencies under vendor/

Modifications:
- [router] use the same endpoint for bookmark upload/import dialog

WIP:
- [import] replace the current parser with a generic, stable parser

TODO:
- [index] display an error if 3rd-party dependencies are missing
- [template] add options for bookmark imports
  - flat vs. nested structure
  - default tags
  - default visibility
- [tests] ensure bookmarks are properly parsed and imported in the LinkDB
  - reuse reference input from the parser's test data

See:
- https://github.com/shaarli/netscape-bookmark-parser
- https://getcomposer.org/doc/01-basic-usage.md#autoloading

Signed-off-by: VirtualTam <[email protected]>
virtualtam added a commit to virtualtam/Shaarli that referenced this issue Jul 30, 2016
Relates to shaarli#607
Relates to shaarli#608
Relates to shaarli#493 (abandoned)

Additions:
- use Composer's autoload to load 3rd-party dependencies under vendor/

Modifications:
- [import] replace the current parser with a generic, stable parser
  - move code to application/NetscapeBookmarkUtils
  - improve status report after parsing
- [router] use the same endpoint for bookmark upload/import dialog

TODO:
- [template] add options for bookmark imports
  - flat vs. nested structure
  - default tags
- [tests] ensure bookmarks are properly parsed and imported in the LinkDB
  - reuse reference input from the parser's test data

See:
- https://github.com/shaarli/netscape-bookmark-parser
- https://getcomposer.org/doc/01-basic-usage.md#autoloading

Signed-off-by: VirtualTam <[email protected]>
virtualtam added a commit to virtualtam/Shaarli that referenced this issue Jul 30, 2016
Relates to shaarli#607
Relates to shaarli#608
Relates to shaarli#493 (abandoned)

Additions:
- use Composer's autoload to load 3rd-party dependencies under vendor/

Modifications:
- [import] replace the current parser with a generic, stable parser
  - move code to application/NetscapeBookmarkUtils
  - improve status report after parsing
- [router] use the same endpoint for both bookmark upload and import dialog
- [template] update bookmark import options

TODO:
- [tests] ensure bookmarks are properly parsed and imported in the LinkDB
  - reuse reference input from the parser's test data

See:
- https://github.com/shaarli/netscape-bookmark-parser
- https://getcomposer.org/doc/01-basic-usage.md#autoloading

Signed-off-by: VirtualTam <[email protected]>
virtualtam added a commit to virtualtam/Shaarli that referenced this issue Aug 2, 2016
Relates to shaarli#607
Relates to shaarli#608
Relates to shaarli#493 (abandoned)

Additions:
- use Composer's autoload to load 3rd-party dependencies under vendor/

Modifications:
- [import] replace the current parser with a generic, stable parser
  - move code to application/NetscapeBookmarkUtils
  - improve status report after parsing
- [router] use the same endpoint for both bookmark upload and import dialog
- [template] update bookmark import options

TODO:
- [tests] ensure bookmarks are properly parsed and imported in the LinkDB
  - reuse reference input from the parser's test data

See:
- https://github.com/shaarli/netscape-bookmark-parser
- https://getcomposer.org/doc/01-basic-usage.md#autoloading

Signed-off-by: VirtualTam <[email protected]>
virtualtam added a commit to virtualtam/Shaarli that referenced this issue Aug 2, 2016
Relates to shaarli#607
Relates to shaarli#608
Relates to shaarli#493 (abandoned)

Additions:
- use Composer's autoload to load 3rd-party dependencies under vendor/

Modifications:
- [import] replace the current parser with a generic, stable parser
  - move code to application/NetscapeBookmarkUtils
  - improve status report after parsing
- [router] use the same endpoint for both bookmark upload and import dialog
- [template] update bookmark import options

TODO:
- [tests] ensure bookmarks are properly parsed and imported in the LinkDB
  - reuse reference input from the parser's test data

See:
- https://github.com/shaarli/netscape-bookmark-parser
- https://getcomposer.org/doc/01-basic-usage.md#autoloading

Signed-off-by: VirtualTam <[email protected]>
virtualtam added a commit to virtualtam/Shaarli that referenced this issue Aug 2, 2016
Relates to shaarli#607
Relates to shaarli#608
Relates to shaarli#493 (abandoned)

Additions:
- use Composer's autoload to load 3rd-party dependencies under vendor/

Modifications:
- [import] replace the current parser with a generic, stable parser
  - move code to application/NetscapeBookmarkUtils
  - improve status report after parsing
- [router] use the same endpoint for both bookmark upload and import dialog
- [template] update bookmark import options

WIP:
- [tests] ensure bookmarks are properly parsed and imported in the LinkDB
  - reuse reference input from the parser's test data

See:
- https://github.com/shaarli/netscape-bookmark-parser
- https://getcomposer.org/doc/01-basic-usage.md#autoloading

Signed-off-by: VirtualTam <[email protected]>
ArthurHoaro pushed a commit that referenced this issue Aug 5, 2016
Relates to #607
Relates to kafene/netscape-bookmark-parser#6

The Shaarli-forked version is checked out as a VCS repository.

Signed-off-by: VirtualTam <[email protected]>
ArthurHoaro pushed a commit that referenced this issue Aug 5, 2016
Relates to #607

Archive creation process (tar, zip):
- let Composer resolve functional (no-dev) dependencies
- call git-archive to generate a release archive
- include 3rd-party dependencies to the generated archive

Signed-off-by: VirtualTam <[email protected]>
virtualtam added a commit to virtualtam/Shaarli that referenced this issue Aug 6, 2016
Relates to shaarli#607
Relates to shaarli#608
Relates to shaarli#493 (abandoned)

Additions:
- use Composer's autoload to load 3rd-party dependencies under vendor/

Modifications:
- [import] replace the current parser with a generic, stable parser
  - move code to application/NetscapeBookmarkUtils
  - improve status report after parsing
- [router] use the same endpoint for both bookmark upload and import dialog
- [template] update bookmark import options

WIP:
- [tests] ensure bookmarks are properly parsed and imported in the LinkDB
  - reuse reference input from the parser's test data

See:
- https://github.com/shaarli/netscape-bookmark-parser
- https://getcomposer.org/doc/01-basic-usage.md#autoloading

Signed-off-by: VirtualTam <[email protected]>
virtualtam added a commit to virtualtam/Shaarli that referenced this issue Aug 7, 2016
Relates to shaarli#607
Relates to shaarli#608
Relates to shaarli#493 (abandoned)

Additions:
- use Composer's autoload to load 3rd-party dependencies under vendor/

Modifications:
- [import] replace the current parser with a generic, stable parser
  - move code to application/NetscapeBookmarkUtils
  - improve status report after parsing
- [router] use the same endpoint for both bookmark upload and import dialog
- [template] update bookmark import options
  - allow adding tags to all imported links
  - allow selecting the visibility (privacy) of imported links

WIP:
- [tests] ensure bookmarks are properly parsed and imported in the LinkDB
  - reuse reference input from the parser's test data

See:
- https://github.com/shaarli/netscape-bookmark-parser
- https://getcomposer.org/doc/01-basic-usage.md#autoloading

Signed-off-by: VirtualTam <[email protected]>
virtualtam added a commit to virtualtam/Shaarli that referenced this issue Aug 7, 2016
Relates to shaarli#607
Relates to shaarli#608
Relates to shaarli#493 (abandoned)

Additions:
- use Composer's autoload to load 3rd-party dependencies under vendor/

Modifications:
- [import] replace the current parser with a generic, stable parser
  - move code to application/NetscapeBookmarkUtils
  - improve status report after parsing
- [router] use the same endpoint for both bookmark upload and import dialog
- [template] update bookmark import options
  - allow adding tags to all imported links
  - allow selecting the visibility (privacy) of imported links

WIP:
- [tests] ensure bookmarks are properly parsed and imported in the LinkDB
  - reuse reference input from the parser's test data

See:
- https://github.com/shaarli/netscape-bookmark-parser
- https://getcomposer.org/doc/01-basic-usage.md#autoloading

Signed-off-by: VirtualTam <[email protected]>
virtualtam added a commit to virtualtam/Shaarli that referenced this issue Sep 4, 2016
virtualtam added a commit to virtualtam/Shaarli that referenced this issue Sep 4, 2016
@ArthurHoaro
Copy link
Member

I think everything has been addressed, can we close?

@virtualtam
Copy link
Member Author

Functionally, yes, though I'd like to wait for a new release to be marked as stable to check Docker image generation :)

virtualtam added a commit to virtualtam/Shaarli that referenced this issue Oct 16, 2016
Relates to shaarli#607
Relates to shaarli#608

Modifications:
- match the arborescence of the archives provided by GitHub
- generate compressed tarballs

Signed-off-by: VirtualTam <[email protected]>
@virtualtam
Copy link
Member Author

Finally closing, I'll raise new issues in case further modifications are required :)

virtualtam added a commit to virtualtam/Shaarli that referenced this issue Oct 19, 2016
Relates to shaarli#607
Relates to shaarli#608

Modifications:
- match the arborescence of the archives provided by GitHub
- generate compressed tarballs

Signed-off-by: VirtualTam <[email protected]>
ArthurHoaro pushed a commit that referenced this issue Nov 5, 2016
Relates to #607
Relates to #612
Relates to shaarli/netscape-bookmark-parser#15

Modification:
- reference the "shaarli" vendor repository on Packagist instead of
  overriding the upstream package with an SCM repository

See https://packagist.org/packages/shaarli/netscape-bookmark-parser

Signed-off-by: VirtualTam <[email protected]>
ArthurHoaro pushed a commit that referenced this issue Nov 5, 2016
Relates to #607
Relates to #608
Relates to #493 (abandoned)

Additions:
- use Composer's autoload to load 3rd-party dependencies under vendor/

Modifications:
- [import] replace the current parser with a generic, stable parser
  - move code to application/NetscapeBookmarkUtils
  - improve status report after parsing
- [router] use the same endpoint for both bookmark upload and import dialog
- [template] update bookmark import options
  - allow adding tags to all imported links
  - allow selecting the visibility (privacy) of imported links
- [tests] ensure bookmarks are properly parsed and imported in the LinkDB
  - reuse reference input from the parser's test data

See:
- https://github.com/shaarli/netscape-bookmark-parser
- https://getcomposer.org/doc/01-basic-usage.md#autoloading

Signed-off-by: VirtualTam <[email protected]>
ArthurHoaro pushed a commit that referenced this issue Nov 5, 2016
ArthurHoaro pushed a commit that referenced this issue Nov 5, 2016
Relates to #607

Modifications:
- [application][tests] NetscapeBookmarkUtils: more permissive doctype detection

The IE bookmark exports contain extra escape sequences, which can be observed
by binary comparison of the reference input data used in tests:

   $ cmp -b -l -n 8 netscape_basic.htm internet_explorer_encoding.htm

   1  74 <    357 M-o
   2  41 !    273 M-;
   3 104 D    277 M-?
   4 117 O     74 <
   5 103 C     41 !
   6 124 T    104 D
   7 131 Y    117 O
   8 120 P    103 C

Signed-off-by: VirtualTam <[email protected]>
ArthurHoaro pushed a commit that referenced this issue Nov 5, 2016
Relates to #607
Relates to #612
Relates to #624

See https://github.com/shaarli/Shaarli/wiki/Server-requirements

Modifications:
- [all][env] set $TERM=dumb to avoid debconf-related issues
- [all][pkg] install ca-certificates
- [all][pkg] cleanup APT cache after installing packages
- [dev] refactor Dockerfile
- [prod][master] refactor Dockerfile
- [prod][master][php] use Composer to resolve PHP dependencies

Signed-off-by: VirtualTam <[email protected]>
ArthurHoaro pushed a commit that referenced this issue Nov 5, 2016
Relates to #607
Relates to #612
Relates to #624
Relates to #633

See https://github.com/shaarli/Shaarli/wiki/Server-requirements

Modifications:
- [prod][stable] refactor Dockerfile
- [prod][stable] set $TERM=dumb to avoid debconf-related issues
- [prod][stable] install ca-certificates
- [prod][stable] cleanup APT cache after installing packages
- [prod][stable] use Composer to resolve PHP dependencies

Signed-off-by: VirtualTam <[email protected]>
ArthurHoaro pushed a commit that referenced this issue Nov 5, 2016
ArthurHoaro pushed a commit that referenced this issue Nov 5, 2016
Relates to #607
Relates to #608

Modifications:
- match the arborescence of the archives provided by GitHub
- generate compressed tarballs

Signed-off-by: VirtualTam <[email protected]>
portailp pushed a commit to PortailPro/Shaarli that referenced this issue Mar 20, 2017
Relates to shaarli#607
Relates to kafene/netscape-bookmark-parser#6

The Shaarli-forked version is checked out as a VCS repository.

Signed-off-by: VirtualTam <[email protected]>
portailp pushed a commit to PortailPro/Shaarli that referenced this issue Mar 20, 2017
Relates to shaarli#607

Archive creation process (tar, zip):
- let Composer resolve functional (no-dev) dependencies
- call git-archive to generate a release archive
- include 3rd-party dependencies to the generated archive

Signed-off-by: VirtualTam <[email protected]>
portailp pushed a commit to PortailPro/Shaarli that referenced this issue Mar 20, 2017
Relates to shaarli#607
Relates to shaarli#612
Relates to shaarli/netscape-bookmark-parser#15

Modification:
- reference the "shaarli" vendor repository on Packagist instead of
  overriding the upstream package with an SCM repository

See https://packagist.org/packages/shaarli/netscape-bookmark-parser

Signed-off-by: VirtualTam <[email protected]>
portailp pushed a commit to PortailPro/Shaarli that referenced this issue Mar 20, 2017
Relates to shaarli#607
Relates to shaarli#608
Relates to shaarli#493 (abandoned)

Additions:
- use Composer's autoload to load 3rd-party dependencies under vendor/

Modifications:
- [import] replace the current parser with a generic, stable parser
  - move code to application/NetscapeBookmarkUtils
  - improve status report after parsing
- [router] use the same endpoint for both bookmark upload and import dialog
- [template] update bookmark import options
  - allow adding tags to all imported links
  - allow selecting the visibility (privacy) of imported links
- [tests] ensure bookmarks are properly parsed and imported in the LinkDB
  - reuse reference input from the parser's test data

See:
- https://github.com/shaarli/netscape-bookmark-parser
- https://getcomposer.org/doc/01-basic-usage.md#autoloading

Signed-off-by: VirtualTam <[email protected]>
portailp pushed a commit to PortailPro/Shaarli that referenced this issue Mar 20, 2017
portailp pushed a commit to PortailPro/Shaarli that referenced this issue Mar 20, 2017
Relates to shaarli#607

Modifications:
- [application][tests] NetscapeBookmarkUtils: more permissive doctype detection

The IE bookmark exports contain extra escape sequences, which can be observed
by binary comparison of the reference input data used in tests:

   $ cmp -b -l -n 8 netscape_basic.htm internet_explorer_encoding.htm

   1  74 <    357 M-o
   2  41 !    273 M-;
   3 104 D    277 M-?
   4 117 O     74 <
   5 103 C     41 !
   6 124 T    104 D
   7 131 Y    117 O
   8 120 P    103 C

Signed-off-by: VirtualTam <[email protected]>
portailp pushed a commit to PortailPro/Shaarli that referenced this issue Mar 20, 2017
Relates to shaarli#607
Relates to shaarli#612
Relates to shaarli#624

See https://github.com/shaarli/Shaarli/wiki/Server-requirements

Modifications:
- [all][env] set $TERM=dumb to avoid debconf-related issues
- [all][pkg] install ca-certificates
- [all][pkg] cleanup APT cache after installing packages
- [dev] refactor Dockerfile
- [prod][master] refactor Dockerfile
- [prod][master][php] use Composer to resolve PHP dependencies

Signed-off-by: VirtualTam <[email protected]>
portailp pushed a commit to PortailPro/Shaarli that referenced this issue Mar 20, 2017
Relates to shaarli#607
Relates to shaarli#612
Relates to shaarli#624
Relates to shaarli#633

See https://github.com/shaarli/Shaarli/wiki/Server-requirements

Modifications:
- [prod][stable] refactor Dockerfile
- [prod][stable] set $TERM=dumb to avoid debconf-related issues
- [prod][stable] install ca-certificates
- [prod][stable] cleanup APT cache after installing packages
- [prod][stable] use Composer to resolve PHP dependencies

Signed-off-by: VirtualTam <[email protected]>
portailp pushed a commit to PortailPro/Shaarli that referenced this issue Mar 20, 2017
portailp pushed a commit to PortailPro/Shaarli that referenced this issue Mar 20, 2017
Relates to shaarli#607
Relates to shaarli#608

Modifications:
- match the arborescence of the archives provided by GitHub
- generate compressed tarballs

Signed-off-by: VirtualTam <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3rd party interoperability with third-party platforms cleanup code cleanup and refactoring docker containers & cloud enhancement tools developer tools
Projects
None yet
Development

No branches or pull requests

2 participants