Jump to content

We are live now! My experience with IPS on large project


Sonya*

Recommended Posts

On the 5th of February we have ported our project to IPS. There are more than 100 000 registered users, 50 000 unique visitors per day and up to 2400 users online and we are growing every day. We use IP.Board, IP.Blog, IP.Gallery, IP.Content, IP.Chat, IP.Tracker, IP.Calendar, IP.SEO. We also have custom modules and some modifications purchased in the Marketplace.

My own experience: Generally I am happy with IPS. I love the idea behind it and I do not regret the decision to go with IPS. However, there are some issues that I would like to address here considering our experience. Because of all these issues listed above, our project would not go online without our ****magic team**** and people helping me out in the community. Therefore I would like to honor and highly recommend them here: Development team: AxisMedia Member profile: They can tune your IPS, they develop complex custom modules using IPS API, they integrate ready modules and tweak them or rewrite, they write patches and fix every issue in stable IPS applications. If you have big plans with your project and are looking for experienced IPS development and support team, do not hesitate to contact them. Design: Igor Lesovsky Member profile: Young designer with a high approach to quality. If your project should look completely different to standard style, yes, he can :smile: Consulting: Marcher Technologies Member profile: My special thanks go to Robert who has done a great job helping me out to understand IPS in general and especially IP.Content. I wish IPS Support would have the consulting quality and engagement Robert has. Conclusion IPS license fee and conditions are fair. I think we cannot expect reasonable technical support for the small fee IPS takes. Still we expect fixing confirmed issues in the licensed versions. We will not purchase and integrate any other modifications from Marketplace as economically it is more effective to write clean code from the scratch instead of fixing multiple bugs in the purchased modules. Our choice Standard IPS + our team = is the best and perfect solution I could ever dream of.

[*]I do not understand what IPS support includes. It looks like they can answer license questions and sometimes explain standard settings. Nothing more. Example: IP.Gallery has a critical issue with bypassing moderation. IPS Answer: you should forbid user moderation on your project to solve the problem. Dear IPS! With 35 000 active users in our project it cannot be the solution. If we have purchased the application and it has critical security issue, you cannot suggest just disabling the feature we have purchased. [*]I do hate development cycle of IPS. Instead of fixing stable versions, they go ahead with next major release and leave their clients with the issues in the purchased versions alone. Example: we submit an issue in support area and Tracker. IPS Answer: "fixed in version 3.3.0". Dear IPS! You should understand that this cannot be a solution for your clients. We do not have access to 3.3.0, there is no release date for this version. So, saying "fixed in 3.3.0" means for us literally "not fixed and will not be currently fixed". We are on the stable version 3.2.3 and have the issue on 3.2.3 and we would like the solution for the version we have purchased. [*]I am not happy with inconsistency throughout the applications. We have decided to go with IPS to have smooth integration of all applications. Example: we would like to have Tagging in all applications. Current IPS features: prefixes are only possible in IP.Board, tagging is possible in other applications too, but not in IP.Content. I had expected that all applications use the same API and have the same features integrated. [*]I am very disappointed about the really poor quality of the Marketplace modules. We had to rewrite some of purchased modules almost to 100% to get rid of errors. The modules we have purchased have miserable code quality. Some of them are stated to run with 3.2.x, but we have detected that at least one module is only supposed to be so. I wish there would be QA for the modules.





http://axismediadev.com/
http://community.inv...maxaxismediaru/


http://lesovsky.ru/
http://community.inv...16073-lesovsky/


http://marchertech.com/
http://community.inv...r-technologies/






Link to comment
Share on other sites

I think this is an excellent post, and it very closely reflects my own opinions of IPS and their software.

I would place particular emphasis on point 2. As soon as IPS decide to work on the next major version, all bug fixing releases of the current version cease (aside from critical security issues). This means customers can be left waiting many months for fixes to major issues - and of course will be forced into upgrading to the next major version to get them, which will inevitably (and unavoidably) introduce new bugs of its own.

There is no reason why development of the stable branch and the next version cannot continue side by side. This is what many other software companies manage to do. It requires effective use of version control of course, but IPS already use SVN so that shouldn't be a problem.

You sum it up well when you say that IPS + a development team is a great combination. If you have in-house skills to code around the shortcomings of IPS software then it is powerful and flexible. However the vast majority of customers do not have this option of course. Admins are therefore left having to make a judgement about which particular set of bugs vs features they are happiest to live with when deciding which version to run.

Link to comment
Share on other sites

[*]I am very disappointed about the really poor quality of the Marketplace modules. We had to rewrite some of purchased modules almost to 100% to get rid of errors. The modules we have purchased have miserable code quality. Some of them are stated to run with 3.2.x, but we have detected that at least one module is only supposed to be so. I wish there would be QA for the modules.












If a file does not function as you would expect, the first step is to seek assistance in its support topic to confirm if what you expected is intended or not. If you find a file does not function or causes you problems please report it broken and a moderator will take a look at it (this applies to paid files as well) although if practical attempt to obtain assistance in the support topic first. Submissions are tested at approval time and were functioning correctly / as described at that time, the potential issue here I can see (it may not be in your case) is a file submitted for a previous version that does not function on the current version. The version fields should be filled in a lot better these days though, but as above please seek initial assistance from the author then either contact a Marketplace moderator if you do not recieve any replies, and lastly report it as broken if it is really broken. :smile: Although we do get a fair few broken reports from those attempting to install a 3.1.x file on 3.2.x or vice-versa for example, these are not suitable reasons for reporting it broken, nor for it not supporting the current version provided it supports an officially supported version. At the time of posting a file would be accepted that would only support 3.1.4 for example, provided it was clear in the description this was the case.
Link to comment
Share on other sites

AndyF, thank you. This is not about broken files or false version. We use last release of IPS and have purchased only modules that marked for 3.2.x in the Marketplace. This is mostly about code quality, about not using IPS API, not documented, not really integrated in IPS, broken functions and so on.

As for "the first step is to seek assistance in its support topic", I did have tried to contact module developers through the support topics.

1. From one developer I have recieved the answer I had "shallow understanding of php, IPB framework and development cycle in general".
2. I have contacted another author because of some bugs in his application and only after reading the whole support topic have seen the statement "I also plan to put out a 3.2 compatible version of this app soon .... The first release will only be a compatibility release..." I would appreciate to see such important information about "only compatibility release" on the module description page, so that I would not purchase it. It should be beta also, not stable in my eyes.
3. I have asked a developer of the third module BEFORE purchasing about the functions of the module and he confirmed it works. After the purchase it did not work, he has admitted it and suggested a refund.
4. For the 4th module I have reported that due to not using API the secondary groups are not supported. It is just changing 2 lines in the module. The module is still not updated 2 months later. We have fixed it ourselves.

I still wish QA before submitting and NOT reporting after purchasing :wink:

Link to comment
Share on other sites

Nice pleasing site that. The fact that I cannot read russian enables me to look at it objectively. :P
I would have guessed it was done using joomla or something if not for the trademark IPB features. So congrats!


1. From one developer I have recieved the answer I had "shallow understanding of php, IPB framework and development cycle in general".


Yeah I remember seeing this conversation somewhere. One of the reasons I did not buy that add-on even though I find it useful. Don't know what happened there but that developer in question is a real helpful guy. Your points however were factual.
Link to comment
Share on other sites


There is no reason why development of the stable branch and the next version cannot continue side by side.



The only reason is the slow-down of the next major release development. Still I think that all issues discovered and confirmed in the current versions should be fixed till the next major release is stable and available for the clients. E. g. fix the issues with IP.Board 3.2.3 untill IP.Board 3.3.0 is released.
Link to comment
Share on other sites


The only reason is the slow-down of the next major release development.




That is true, though of course many of the fixes can be carried over to the next major version, so little work would be duplicated with careful version control. It would mean though that customers get their hands on fixes more rapidly.
Link to comment
Share on other sites


Nice pleasing site that. The fact that I cannot read russian enables me to look at it objectively. :tongue:


I would have guessed it was done using joomla or something if not for the trademark IPB features. So congrats!



Yeah I remember seeing this conversation somewhere. One of the reasons I did not buy that add-on even though I find it useful. Don't know what happened there but that developer in question is a real helpful guy. Your points however were factual.




Actually I had fun laughing at her posts. Initially she contacted me with an issue about a JS error. I gave her a fix. She used the fix I gave to solve another issue with the JS. How is that for scavenger approach to development?

Any way, if you look at here supposed issues. You'll see her saying:

Wrong. You can use serialized field. See the field ips_members.members_cache as example if you do not know what serialized means.



Actually I already use serialized fields but here question wasn't about that but rather about the use of BLOB. BLOB has nothing to do with serialized. She asked me why did you use BLOB? I answered she said this is wrong, you should use serialized :laugh: . You can actually use serialized with varchar or text or BLOB but you'd be better off using BLOB if you don't know the size of the field. Another advantage of using BLOB is that you wouldn't have to care about char encoding.

Anyway using serialized is not always a good idea because you can't do any query on any of the individual fields you've just serialized. In fact, some considers it as a bad habit. but since I'm not planning to, I should be OK.

Now BLOB is also used by xF as the column type for the notices criteria. so what the hell is she saying or asking about? and why is wrong written in red? is this the new troll thing going on nowadays?

then she commented on my use of group checking by:

Wrong. IPS has a framework to check primary AND secondary group (true/false), see the API for

IPSMember::isInGroup

. This has nothing to do with be unique. Just with not using standard API %7Boption%7D

. It is enough to have a checkbox for secondary groups Yes/No.



this is really stupid. Because the app let you specify the secondary or primary groups independently. for example, a member with a primary group of members and secondary group of admin. or any complex combination of primary and secondary groups. You can't use the standard IPS function to do that.

her greatest and yet most funny comment is that she wanted to improve performance by loading 3 or 4 classes :laugh: and calling three functions in just one line of code. Yeah this is increasing performance.

Now I appreciate that you think I'm helpful but I'm not running a business here and won't roll over to a troll.
Link to comment
Share on other sites

Hello,

Thank you for your well thought-out and constructive feedback. We will take what you have relayed into consideration moving forward.


    [*]I do not understand what IPS support includes. It looks like they can answer license questions and sometimes explain standard settings. Nothing more. Example: IP.Gallery has a critical issue with bypassing moderation. IPS Answer: you should forbid user moderation on your project to solve the problem. Dear IPS! With 35 000 active users in our project it cannot be the solution. If we have purchased the application and it has critical security issue, you cannot suggest just disabling the feature we have purchased. [*]I do hate development cycle of IPS. Instead of fixing stable versions, they go ahead with next major release and leave their clients with the issues in the purchased versions alone. Example: we submit an issue in support area and Tracker. IPS Answer: "fixed in version 3.3.0". Dear IPS! You should understand that this cannot be a solution for your clients. We do not have access to 3.3.0, there is no release date for this version. So, saying "fixed in 3.3.0" means for us literally "not fixed and will not be currently fixed". We are on the stable version 3.2.3 and have the issue on 3.2.3 and we would like the solution for the version we have purchased. [*]I am not happy with inconsistency throughout the applications. We have decided to go with IPS to have smooth integration of all applications. Example: we would like to have Tagging in all applications. Current IPS features: prefixes are only possible in IP.Board, tagging is possible in other applications too, but not in IP.Content. I had expected that all applications use the same API and have the same features integrated. [*]I am very disappointed about the really poor quality of the Marketplace modules. We had to rewrite some of purchased modules almost to 100% to get rid of errors. The modules we have purchased have miserable code quality. Some of them are stated to run with 3.2.x, but we have detected that at least one module is only supposed to be so. I wish there would be QA for the modules.













1) Without seeing the specific support ticket you are referring to it is difficult to comment definitively, however our technical support team provides full technical support for the software we sell. If the software is not functioning as intended, a bug report should be filed. It is possible that what you attempted to do was not intended and subsequently had unintended side effects (did you give your entire member group moderator permissions? if so, that might constitute unintended behavior). Just note that our technical support team provides full technical support of the software. If a reply you receive is incorrect, doesn't answer your question, or you are unclear on, please respond to the support ticket for further assistance, or request for it to be escalated if you feel it is not being handled appropriately. Our technical support is not something typically considered lacking, and we are proud of that. :) 2) This is a common problem with rapid software development, and unfortunately there is no magic bullet solution. It is easy on the outside to say "release the fixes for the current version too", however the reality is that it is quite difficult to backport fixes to the current version, using SVN or not. We only have so many developers here - it's not like Microsoft where you can maintain a separate development department for each version of your software. We will discuss if there are ways to smooth this issue in the future. 3) In order to make use of new features, the software has to be updated to implement those features. IP.Content 2.3.0 implements tagging and is currently in beta testing, in preparation for a release. I'm afraid this will never change. Just because a new feature is added into the framework does not make it instantly available in every application without that application requiring some sort of update to implement it. 4) We cannot vouch for third party resources as I'm sure you can understand. Our marketplace moderators do a good job of testing the basic functionality of the modifications (and I will note, they volunteer their time to do this). We will never have the capacity to implement full on QA-testing of every resource added to the marketplace, however, and each purchaser has to determine if the item they are purchasing is up to their standards or not individually.
Link to comment
Share on other sites

here, she is criticising IPS cycle of development. This is funny considering her understanding of a development cycle as

It is not about improving, it is about a code quality. You can start to write clean code from the very beginning or release your mod as alpha or beta, if it is of poor quality or not tested. This is the way how development normally done. Alpha means - there are issues and I am aware of. Beta means - I believe there are no issues, but it must be tested. Stable means - there are no issues, tested and released.



:laugh: first of all the alpha and beta is part of the testing phase of development not the development cycle itself. Alpha is generally a form of internal testing. Normally it wouldn't get released to the public or it is released to an independent QA team. Second of all, beta is when the product finds its way to users or potential users. and third of all, the release candidate is when you put a null hypothesis that the software has no major bug or fail. then comes the RTM and finally GA.

do you see what I'm dealing with here?
Link to comment
Share on other sites


I am very disappointed about the really poor quality of the Marketplace modules. We had to rewrite some of purchased modules almost to 100% to get rid of errors. The modules we have purchased have miserable code quality. Some of them are stated to run with 3.2.x, but we have detected that at least one module is only supposed to be so. I wish there would be QA for the modules.




As a developer who deals with apple on a regular basis I can assure you this is almost a deal breaker. Not because I may have my app denied but because I need to wait 5 days for them to approve my application.

This is a nightmare when you find out you accidentally released a version into the appstore that has a potential problem for a certain majority of users as even if the fix takes 10 seconds you still have 5 days worth of facing repercussions.
Link to comment
Share on other sites

bfarber, thank you for your extended answer.


1) Without seeing the specific support ticket you are referring to it is difficult to comment definitively, however our technical support team provides full technical support for the software we sell. If the software is not functioning as intended, a bug report should be filed. It is possible that what you attempted to do was not intended and subsequently had unintended side effects...



This is the bug reported I have filled http://community.inv...009#entry136009 The same issue has been submitted to support and suggested solution from the support was: "The only way around that would be to not allow users to delete their images.. There's just no good way around that, other than not allowing members to move/delete/moderate their own albums." Again with 35000 active users not to allow "move/delete/moderate their own albums" is a nightmare for the project staff that would have to "move/delete/moderate" upon users' requests. Our "solution" was - not to allow members' album at all. It's a pitty as I was eager to use the feature on the project.


4) We cannot vouch for third party resources as I'm sure you can understand. Our marketplace moderators do a good job of testing the basic functionality of the modifications (and I will note, they volunteer their time to do this). We will never have the capacity to implement full on QA-testing of every resource added to the marketplace, however, and each purchaser has to determine if the item they are purchasing is up to their standards or not individually.



I am aware of the problem and I can understand the difficulty of QA. This is just my personal experience and my decision not to rely on existing modules in Marketplace. I am sure there are good modules as well (I did not purchased all of them :smile: to be able to judge generally). This is just my own experience and my wish even if it is not actually feasible.
Link to comment
Share on other sites

Good luck with the gallery bug. I can confirm it. Myself and others have been complaining about the gallery and reporting problems. The most recent response from IPS is along the lines that we'll have to wait some time as it was the last app to be worked on. That's despite some things not working properly.

You're probably not aware of the gallery history. The previous IP Gallery version 3 worked really well. Not perfect but it looked and worked a lot better than the current version 4. With version 4 IPS rewrote most of it. Problem is, they never quite finished (in my opinion). What we currently have is essentially an Alpha version or work in progress version. Don't believe me, just go through some of the gallery feedback topics.

3DKiwi

Link to comment
Share on other sites

  • 1 month later...

If gallery does have a critical issue (I haven't used it in a while) I'd hate to know what this one guy would say who acted like my app having an incorrect count was the worst bug in history and "alpha". lol




lol when you said alpha in your other post, I almost certainly knew whom you're talking about
Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...