Giter VIP home page Giter VIP logo

extensionlibrary's People

Contributors

cmfcmf avatar craigh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

extensionlibrary's Issues

interesting DI idea

https://groups.google.com/d/msg/doctrine-user/ZLttjX1ZTPQ/5GgM8_JDZmwJ

I don't relly like the usage of strings when the same value is used all over the project.
To write 100x 'MyNamespace\Model\MyEntity' is quite bad if you want to refactor things some times.

response:

Declare the entity classes in config files, inject the repositories with DI

parameters:
    my.entity.class: MyNamespace\MyEntity

service:
    my.repository:
        class: MyRepo
        factory_service: doctrine.orm.entity_manager
        factory_method: getRepository
        arguments:
            - %my.entity.class%

this could maybe be something to try (in any project, I just decided to post it here)

My Todo list

  • split release blocks
  • add option to auto-create news post on new release
  • improve viewreleases page
    • add download links to modals
    • add download links to table
  • add jenkins-endpoint to be notified when a jenkins build has finished

move some vendors to plugins

We should consider moving the OAuth and GithubApi vendors to independent plugins so that they could be used by other extensions. possibly other vendors as well.

@cmfcmf

EL doesn't work locally

locally - after I upgraded to 1.0.10 this is what I get. (Also tried reinstalling)

screen shot 2014-09-01 at 8 20 33 am

maybe it doesn't matter, but something is wrong. it seems like it should run locally.

use monolog

use monolog for logging instead of fopen() fwrite() etc

example:

use Monolog\Logger;
use Monolog\Handler\StreamHandler;

$logger = new Logger('mailer');
$logger->pushHandler(new StreamHandler('app/logs/mailer.log', Logger::INFO));
$logger->addError("Could not send message to: $emailList :: " . $message->toString());

dynamically get routes

It isn't good to hardcode the route into the module. Have to "lookup" the route instead. This might be difficult/impossible with the doc files (.md)

cc: @cmfcmf

filter not working

the filter (type or version) doesn't appear to be working at zikula.org

Things to do

@cmfcmf

  • trim content going to log
  • create manifest validation mechanism for users to test their manifest
  • change verification system to be version based instead of vendor based
  • create workflow for admin to verify/deny a version
  • move versions to a tab and add comments and rating to another tab
  • add filter dropdown for core version (#10) and ext type
  • add smarty page caching

Edit by @cmfcmf

  • blow up the database ๐Ÿ’ฃ โ— ๐Ÿ’ฅ ๐ŸŽ‰ ๐Ÿ˜ƒ

Polish dependencies

Quote from the docs:

Dependencies are specified with a simple hash of name, type and version. The name should be the repository name and not the title. The type must be as defined in extension type above. Version uses the same definition as core compatibility. See Specifying Versions.

That means:

"dependencies": [
  {
    "name": "TestModule",
    "type": "m",
    "version": "~1"
  }
]

However, the repository name is not unique. I propose to use the name from the composer.json file (e.g. cmfcmf/test-module) instead.

Additionally, the core dependency is currently placed in compatibility. As this is a dependency too, I suggest to move it into the dependencies array:

"dependencies": {
  "cmfcmf/test-module": "~1",
  "zikula/core": ">=1.3.5 <1.5"
}

Opinions?

user validation errors incomplete

there is still an issue on validation where the offending fields are not identified in the error display, but the validation works properly. This seems to be a vendor issue, but not sure.

Auto-create failed

I was trying to add zikula-modules/Scribite but it failed:

[1] Github\Exception\RuntimeException: Not Found
at n/a
in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/vendor/knplabs/github-api/lib/Github/HttpClient/HttpClient.php line 146

at Github\HttpClient\HttpClient->request('repos///hooks', '{&quot;name&quot;:&quot;web&quot;,&quot;active&quot;:true,&quot;events&quot;:[&quot;push&quot;],&quot;config&quot;:{&quot;url&quot;:&quot;http:\/\/zikula.org\/library\/webhook&quot;,&quot;secret&quot;:&quot;&quot;,&quot;content_type&quot;:&quot;json&quot;}}', 'POST', array())
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/vendor/knplabs/github-api/lib/Github/HttpClient/HttpClient.php line 105

at Github\HttpClient\HttpClient->post('repos///hooks', '{&quot;name&quot;:&quot;web&quot;,&quot;active&quot;:true,&quot;events&quot;:[&quot;push&quot;],&quot;config&quot;:{&quot;url&quot;:&quot;http:\/\/zikula.org\/library\/webhook&quot;,&quot;secret&quot;:&quot;&quot;,&quot;content_type&quot;:&quot;json&quot;}}')
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/Manager/RepositoryManager.php line 102

at Zikula\Module\ExtensionLibraryModule\Manager\RepositoryManager->createWebHook(false, array('push'), 'http://zikula.org/library/webhook')
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/Controller/UserController.php line 584

at Zikula\Module\ExtensionLibraryModule\Controller\UserController->addExtensionAction(object(Zikula_Request_Http))
    in  line 

at call_user_func_array(array(object(UserController), 'addExtensionAction'), array(object(Zikula_Request_Http)))
    in /home/zwww/core/src/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line 145

at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Zikula_Request_Http), '1')
    in /home/zwww/core/src/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line 66

at Symfony\Component\HttpKernel\HttpKernel->handle(object(Zikula_Request_Http), '1', true)
    in /home/zwww/core/src/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/DependencyInjection/ContainerAwareHttpKernel.php line 64

at Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->handle(object(Zikula_Request_Http), '1', true)
    in /home/zwww/core/src/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php line 185

at Symfony\Component\HttpKernel\Kernel->handle(object(Zikula_Request_Http))
    in /home/zwww/core/src/index.php line 21

[2] Github\Exception\RuntimeException: Not Found
at n/a
in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/vendor/knplabs/github-api/lib/Github/HttpClient/Listener/ErrorListener.php line 92

at Github\HttpClient\Listener\ErrorListener->onRequestError(object(Event), 'request.error', object(EventDispatcher))
    in  line 

at call_user_func(array(object(ErrorListener), 'onRequestError'), object(Event), 'request.error', object(EventDispatcher))
    in /home/zwww/core/src/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php line 164

at Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(array(array(object(ErrorListener), 'onRequestError'), array('Guzzle\Http\Message\Request', 'onRequestError')), 'request.error', object(Event))
    in /home/zwww/core/src/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php line 53

at Symfony\Component\EventDispatcher\EventDispatcher->dispatch('request.error', object(Event))
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Request.php line 589

at Guzzle\Http\Message\Request->processResponse(array('handle' => object(CurlHandle)))
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Request.php line 378

at Guzzle\Http\Message\Request->setState('complete', array('handle' => object(CurlHandle)))
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/vendor/guzzle/guzzle/src/Guzzle/Http/Message/EntityEnclosingRequest.php line 49

at Guzzle\Http\Message\EntityEnclosingRequest->setState('complete', array('handle' => object(CurlHandle)))
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMulti.php line 303

at Guzzle\Http\Curl\CurlMulti->processResponse(object(EntityEnclosingRequest), object(CurlHandle), array('msg' => '1', 'result' => '0', 'handle' => 'Resource id #1049'))
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMulti.php line 257

at Guzzle\Http\Curl\CurlMulti->processMessages()
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMulti.php line 240

at Guzzle\Http\Curl\CurlMulti->executeHandles()
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMulti.php line 224

at Guzzle\Http\Curl\CurlMulti->perform()
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMulti.php line 111

at Guzzle\Http\Curl\CurlMulti->send()
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMultiProxy.php line 94

at Guzzle\Http\Curl\CurlMultiProxy->send()
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/vendor/guzzle/guzzle/src/Guzzle/Http/Client.php line 284

at Guzzle\Http\Client->send(object(EntityEnclosingRequest))
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/vendor/knplabs/github-api/lib/Github/HttpClient/HttpClient.php line 140

at Github\HttpClient\HttpClient->request('repos///hooks', '{&quot;name&quot;:&quot;web&quot;,&quot;active&quot;:true,&quot;events&quot;:[&quot;push&quot;],&quot;config&quot;:{&quot;url&quot;:&quot;http:\/\/zikula.org\/library\/webhook&quot;,&quot;secret&quot;:&quot;&quot;,&quot;content_type&quot;:&quot;json&quot;}}', 'POST', array())
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/vendor/knplabs/github-api/lib/Github/HttpClient/HttpClient.php line 105

at Github\HttpClient\HttpClient->post('repos///hooks', '{&quot;name&quot;:&quot;web&quot;,&quot;active&quot;:true,&quot;events&quot;:[&quot;push&quot;],&quot;config&quot;:{&quot;url&quot;:&quot;http:\/\/zikula.org\/library\/webhook&quot;,&quot;secret&quot;:&quot;&quot;,&quot;content_type&quot;:&quot;json&quot;}}')
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/Manager/RepositoryManager.php line 102

at Zikula\Module\ExtensionLibraryModule\Manager\RepositoryManager->createWebHook(false, array('push'), 'http://zikula.org/library/webhook')
    in /home/zwww/core/src/modules/ExtensionLibrary/Zikula/Module/ExtensionLibraryModule/Controller/UserController.php line 584

at Zikula\Module\ExtensionLibraryModule\Controller\UserController->addExtensionAction(object(Zikula_Request_Http))
    in  line 

at call_user_func_array(array(object(UserController), 'addExtensionAction'), array(object(Zikula_Request_Http)))
    in /home/zwww/core/src/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line 145

at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Zikula_Request_Http), '1')
    in /home/zwww/core/src/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line 66

at Symfony\Component\HttpKernel\HttpKernel->handle(object(Zikula_Request_Http), '1', true)
    in /home/zwww/core/src/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/DependencyInjection/ContainerAwareHttpKernel.php line 64

at Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->handle(object(Zikula_Request_Http), '1', true)
    in /home/zwww/core/src/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php line 185

at Symfony\Component\HttpKernel\Kernel->handle(object(Zikula_Request_Http))
    in /home/zwww/core/src/index.php line 21

Add RSS feeds

  • new versions
  • new extensions
  • new core releases
  • ...

Elements are hiding on hover

If you hover some elements on the user display page they become hidden:

  • The green check showing that it was verified.
  • The blue badge showing core version compatibility.

Explain verification

On some extensions there is a green check icon included with a tooltip like Extension has been verified. A user does not know what this should imply though. So there is some explaination required in the library frontend.

relocate `keywords` field to composer.json ?

the composer specification (not the core one, the "real" one) has the keywords field. Is there any reason that we don't use it and instead use a keywords field in the manifest file?

this is currently only a question for debate and not yet for implementation.

index takes too long to load

simply visiting /library/ takes way to long (this is on my dev box at home).

item time
Total time 62234 ms
Initialization time 767 ms

the web profiler says the controller is the problem. I suspect the filter is the issue. In this case, I have not filtered anything so the view is "unfiltered".

We need to cache the view or do something to speed this up.

add route prefix to manifest

@cmfcmf

It might be a good idea to "register" the selected route prefix as part of the manifest. This would allow the EL to keep track and prevent conflicts.

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.