Giter Site home page Giter Site logo

metacpan-sco's Introduction

search.cpan.org clone based on MetaCPAN API

This is an attempt to recreate the look-and-feel of http://search.cpan.org/ using the
MetaCPAN API as a back-end. https://github.com/CPAN-API/cpan-api/

For objectives, plans, and a description of what the site, and the code behind it should look like see
http://perlmaven.com/search-cpan-org

For a live version of this application visit http://sco.perlmaven.com/


Development environment:
------------------------

* Install the prerequisites via Makefile.PL
* Run bin/fetch.pl to fetch some meta-meta-data from MetaCPAN::API
* Run plackup -r
* Borwse to http://localhost:5000/


Enhancements
=============

Various places where the clone differs from the real sco that can be considered enhancements.

The permalink in the top-right corner of
--------------
   http://sco.perlmaven.com/~szabgab/CPAN-Test-Dummy-SCO-Special-0.04/lib/CPAN/Test/Dummy/SCO/Special.pm
  links directly to the permanent url and not to /perldoc?


#18

Canonical URLs
---------------
All the version-specific files set the non-version specific file as the canonical URL.
For example
       http://search.cpan.org/~szabgab/CPAN-Test-Dummy-SCO-Special-0.04/lib/CPAN/Test/Dummy/SCO/Separate.pod
  sets http://search.cpan.org/dist/CPAN-Test-Dummy-SCO-Special/lib/CPAN/Test/Dummy/SCO/Separate.pod

       http://search.cpan.org/~szabgab/CPAN-Test-Dummy-SCO-Special-0.04/
  sets http://search.cpan.org/dist/CPAN-Test-Dummy-SCO-Special/

See https://support.google.com/webmasters/answer/139066?hl=en
#17


Redirect URLs
--------------

Historically many people have been linking to version specific files on search.cpan.org.
When that version of the module is removed from CPAN, these links become broken.

Instead of showing a 'Not found' error sco. could redirect those URLs to the stable URL.

For example

    http://saerch.cpan.org/~szabgab/CPAN-Test-Dummy-SCO-Pirated-1.02/lib/CPAN/Test/Dummy/SCO/Pirated.pm
 to http://sco.perlmaven.com/dist/CPAN-Test-Dummy-SCO-Pirated/lib/CPAN/Test/Dummy/SCO/Pirated.pm

and

    http://saerch.cpan.org/~szabgab/CPAN-Test-Dummy-SCO-Pirated-1.02/
 to http://sco.perlmaven.com/dist/CPAN-Test-Dummy-SCO-Pirated/

See #19


Author lists
-------------

All these pages used to server the same content:

   http://search.cpan.org/author/?a
   http://search.cpan.org/author/?A
   http://search.cpan.org/author/?Abc

And then pages with different query_string had different content.

Instead of that now all of them redirect to

   http://search.cpan.org/author/A





metacpan-sco's People

Contributors

szabgab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

metacpan-sco's Issues

Redirect old URLs

Historically many people have been linking to version specific files on search.cpan.org.
When that version of the module is removed from CPAN, these links become broken.

Instead of showing an 'Not found' error sco. could redirect those URLs to the stable URL.

This is only relevant if this code is used to run sco.

For example

http://sco.perlmaven.com/~szabgab/CPAN-Test-Dummy-SCO-Pirated-1.03/lib/CPAN/Test/Dummy/SCO/Pirated.pm is going to be deleted soon. It should redirect to
http://sco.perlmaven.com/dist/CPAN-Test-Dummy-SCO-Pirated/lib/CPAN/Test/Dummy/SCO/Pirated.pm

In order to avoid the need to keep track of all the old releases we might want to redirect even urls such as
http://sco.perlmaven.com/~szabgab/CPAN-Test-Dummy-SCO-Pirated-1.02/lib/CPAN/Test/Dummy/SCO/Pirated.pm
that were never on CPAN.

Version specific files should be excluded from indexing

In order to get search engines bring people to the stable url, we should disallow the indexing of the version specific files. Either in robots.txt or in the header of each file. (This is only relevant if the code becomes the real sco)

disallow http://search.cpan.org/~szabgab/CPAN-Test-Dummy-SCO-Special-0.04/lib/CPAN/Test/Dummy/SCO/Separate.pod

allow:
http://search.cpan.org/dist/CPAN-Test-Dummy-SCO-Special/lib/CPAN/Test/Dummy/SCO/Separate.pod

See also #17

The site should be much faster

A couple of directions:

*) Caching results
*) Executing API requests asynchronously
*) Asking for less data (use fields where possible)

*) Hosting it on a faster box closer to the location of the API server

Pages work as expected but...

The author page takes several seconds to load, long enough that I thought no authors were listed and had already started to move on to the next page.

No matches found

When I type in a partial module name, e.g. 'MarpaX', or 'MarpaX::Demo', or a full module name, e.g. 'MarpaX::Demo::StringParser', I always get the no matches found msg. Is it meant to be working?

Look and Feel

When I deliberately type in a partial module name, e.g. 'MarpaX', the search box, which starts off in the middle of the screen (which I like), is displayed next, with the no matches msg, high up on the left. That seems odd, even though it's a small problem.

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.