daFish

Members
  • Content count

    113
  • Joined

  • Last visited


2 Followers



About daFish

  • Rank
    IPB Full Member

Contact Methods

Profile Information

  • Gender Male

daFish's Activity

  1. daFish added a comment on a blog entry: IPS 4.0: Editor - Part 1: Content   

    Looks pretty good.


    What happens with spoilered text in emails? Are they removed?
  2. daFish added a comment on a blog entry: Some development decisions made prior to 4.0   

    +1 for the decision to support PHP 5.3.
  3. daFish added a comment on a blog entry: 4.0 - Dev Introduction   

    I didn't meant to imply that you should remove the factory capability. For example this is supported by the Symfony 2 DIC. So there would be no new object created upon a request but the already instantiated object used.

    Look at this example: namespace AcmeFoo; use IPSDb; use AcmeFooToolsUtil; use AcmeFooServiceSomethingElse; class Test1 { protected $db; protected $util; public function __construct(Db $db, Util $util) { $this->db = $db; $this->util = $util; } } class Test2 { protected $db; protected $somethingElse; public function __construct(Db $db, SomethingElse $somethingElse) { $this->db = $db; $this->somethingElse = $somethingElse; } } Assuming both test classes are registered in the DIC when we get both from the container, the instance of $db will be the same. No new object is created as the DB is created using a factory method (see http://symfony.com/doc/current/components/dependency_injection/factories.html).
    And it is also good design to explicitly specify your dependencies.

    Here are a couple of articles dealing with the pros and cons of DICs:

    - http://richardmiller.co.uk/2011/05/19/when-dependency-injection-goes-wrong/
    - http://stackoverflow.com/questions/6034748/if-singletons-are-bad-then-why-is-a-service-container-good
    - http://fabien.potencier.org/article/11/what-is-dependency-injection

    Speaking of my own observation of this I'm using DICs in PHP for about 4 years now. At the beginning I was very sceptical about the whole concept but after working for so long with them I really see the benefits and advantages it brings.
    You design your classes in a more structured, clean, and useful way. :smile:

    What I want to propose good code quality.

    Btw., Mark, I really enjoy this conversation. It gives me a good feeling the developers are open for discussion even if it turns out that the suggestion won't be implemented (which I don't hope for this ;)).
  4. daFish added a comment on a blog entry: 4.0 - Dev Introduction   

    Why would the database class be different than any other class? What if I want to test my code which depends on the database and I have no way of mocking it to have testing in isolation? Having it as a injectable dependency makes mocking it in tests easy.
    I just want to state that this major version bump is the best opportunity to establish well tested and proven design principles which lead to better and testable code.
  5. daFish added a comment on a blog entry: 4.0 - Dev Introduction   

    Great to get some insights about the new structure. But instead of introducing multitons wouldn't it be more logical to use a dependency injection container and make it available anywhere? It would enhance testability of the code and use cases like this are also well supported. App developers would also benefit from a DIC as they could easily specify which services they need and get a perfectly configured instance from the container instead of wiring all the needed dependencies themselves.
     
    There are various lookup ways possible so it depends on the concrete implementation. You can also have a static class map with classes anywhere which could be then registered with the autoloader. Here is an example for PSR-0 compliance: https://github.com/composer/composer/blob/master/src/Composer/Autoload/ClassLoader.php - there are also implementations for class maps and even an generator for autoloading.
  6. daFish added a comment on a blog entry: IPS Social Suite (4.0)   

     
    Thanks for the answers, Mark. Even if you don't follow PSR-0 completely, having an autoloader is great and useful. I just want to make sure it will be possible for nearly any custom application to register themselves at the autoloader and be available anywhere. 
     
    Looking forward to more info about the new suite. :)
  7. daFish added a comment on a blog entry: IPS Social Suite (4.0)   

    This sounds quite awesome. But I have some questions you might be able to answer already:
     
    Will you make use of third party components for certain parts of the application like Symfony components?
    Will you follow the PSR-0 standard for autoloading?
    Will the application be real UTF-8?
    Will the already available XML-RPC API have more options or changed against another implementation?
  8. daFish added a comment on a blog entry: IP.Board 3.4 Dev Update: IPS Connect   

    So this is no Facebook Connect-like addition?
  9. daFish added a comment on a blog entry: IP.Nexus 1.5 Dev Update: Miscellaneous Enhancements   

    But these custom ad zones are only displayable in the forum/content or can these also be displayed at an external page?
  10. daFish added a comment on a blog entry: IP.Board 3.3 Dev Update: Auto-share on posting   


    Is it even the default logo when we use our own logo?
  11. daFish added a post in a topic: Support for Elasticsearch beside Database and Sphinx   

    Thanks for your extensive answer, Brandon. Even if IPS doesn't consider adding ES in the near time, can I assume that the current product would allow me to develop an addon who would offer ES integration?
  12. daFish added a post in a topic: Support for Elasticsearch beside Database and Sphinx   

    Both of you are free to chose not to use it if it would be an AddOn.
    Elasticsearch would provide nice features like facetted search (like Amazon where you can filter through the set of results), schema less documents, JSON-REST-API, suggest search and so on.

    And the fact XenForo is offering such an solution shouldn't mean IPS should not.
  13. daFish added a post in a topic: Support for Elasticsearch beside Database and Sphinx   

    Hi there.

    The search is one of the most delicate parts of the forums and having members and guests finding valuable information it is necessary to have a good search. While database search is good for small communities, it is soon outgrown when the community evolves or the fulltext search isn't simply working the way it should.

    Dealing with Elasticsearch myself for an project, it would be great if IPS could provide a addon or built-in support for it. As per announcement, Xenforo is going to provide an addon which will provide Elasticsearch.
  14. daFish added a post in a topic: Make "Merge member's concurrent posts" a usergroup / per forum setting   

    Hello.

    We recently turned "Merge member's concurrent posts" on and it's been working great except in one area. Thus we'd need to either have it as an usergroup setting or a setting per forum.
  15. daFish added a comment on a blog entry: Development Update: IP.Board 3.2.3   

    Would it be possible to add the autosave feature to the Personal Message-editor too?