Jump to content



  • Content Count

  • Joined

  • Last visited

  • Days Won


Upgradeovec last won the day on November 1 2017

Upgradeovec had the most liked content!


About Upgradeovec

  • Rank

Profile Information

  • Gender

Recent Profile Visitors

2,296 profile views
  1. I prefer White for websites. But I totally agree that IPS must add default dark theme. There is the only reason for that - help theme developers for making their dark themes. Now if some not developer guy installs IPS and if he wants to create a dark mode the visual styling isn't enough to make it. If he changes all possible fields to the dark colors he still sees white areas. Just because their colors are hardcoded in the css files. In this case, there is no way of making perfect dark themes without CSS editing from the default theme.
  2. One time for one project we bought the IPS Commerce application just because it contains the support system. It was the best solution for us because it is really useful to have this system in the same service as users already have (cms and forums). If you have a plan to remove the support component from the Commerce app that it be one lower point to the hypothetical specter of tasks that the platform might solve from the box. In this way, if my customer makes an order to creating some simple landing page with support and IPS wouldn't contain some of that - then it will be a serious motivation to choose another framework that has all features needed to minimize the amount of refinement.
  3. Not certainly in that way. In the case of millions of users/topics/answers, the update time may take a long (for business) time. Of course, this also depends on the power of the application server and the database. But overall, the ability to have command-line tools would add a lot of administration, support and deployment abilities. As an example, it would be possible to describe in some manifest file a list with versions of applications/plug-ins and with some continuous integration tool builds an IPS test instance with needed additional stuff, proceed autotests for updated app branch, make deployment to production, etc.
  4. @Sonya* activity streams can be filtered by language nodes - this is included in the main proposal of 'Forums'. Blocks - another painful part, agree with you. On Pages, I use little bit PHP code for that. Just get current user language and paste it into block calling. Very unuseful, but.. can't do in other ways. Blocks on the forum side - I don't know how to manage it now and don't see the pretty solution to solving them. It's painful, but it's a few other stories. We can't come to IPS with a lot of pains with languages and just ask for fixing it in anyways. I think the one possible way to start moving is a clear task with pain and proposal to solve it (i can write the example code too). And then pray that IPS get it. After this one step, we might think about the next steps with the same way of proposals or code examples. I feel pains with languages too. In different places. For example, currently, I have a bug with some landing, which built with Pages and blocks (where I had {lang="something"} keys). It working well except title and description. It set up on the page setting, which does not support multilanguage. So for fixing that I'll turn off the default title expression in the theme and fill it with the language key for specified page only. It's weird and stupid. But I have no idea how to do this right.
  5. For the 'comment' type of data, I see no way for any right solution. Translators always working very bad and this feature (as I think) can't be a regular part of normal using. And this looks a little bit strange to see the topic, where commenters write in different languages. Anyway, this talking might be very long and this is outside of the main proposal - adding a language selector to the 'Container' element (Forums) of Items (Topics). This way looks clear, simple and becomes like a good starting point for other useful features.
  6. Hello, IPS and community! I want to propose you to a little bit of improvement to the 'Forums' item. This option is a selector of speaking language for the selected forum (category/discussion/faq). Some big communities having their special sections for people, speaking in French, Italian, German and other languages. If we implement this selector for the forum we'll open a perfect point for making other useful stuff. There is a list of what it can be: we can create a lot of ElasticSearch indexes with a correct language analyzer. So the French guy can search something in his language and get the results for his language section we can add an option inside Account Settings to provide people the ability to select the language, which he can understand. For example, some EU guy selected English, Deutch, and Italian language. This setting provides a lot of next points When people set up their preferable language then we can filter other language sections from the view in front of forums, we can filter the widgets results (German people, whose don't understand French feel annoyed when he see active discuss in French section and whole of HOT or Recent widgets returns most of the results in French). It's very unuseful widgets for him. (I can PM you the forum link and you'll see the problem in action). By the special setting, users might show to other users languages, which the author can understand. So some popular guy can say to each other, that he can talk in a special list of languages and he glad to talk in PM in, for example, Espaniol and Turkish ... What do you think about that?
  7. foreach ($_REQUEST as $key => $value) { $$key = $value; } I hope this will work in the same way. And I must say, that this method looks not so well as it might be. Initialize variables from the incoming request might open unstable behavior in your program. Much better to check that operable params exist or not and run the right algorithm based on this checking.
  8. Thank IPS for made Redis status page! It is useful and good to check it without any additionals! I very appreciate these ways of helping! If you have a plan to add other parts, like the opcache status page - it will be awesome! Something like that: And thanks for your work! IPS 4.4 update was the most compatible for the themes and apps. We update our staging with a very few numbers of changings needed and a lot of stuff delivered. Best!
  9. It will be extremely powerful if you can create a special title and description in meta tags for the direct links to the special post. I mean, when somebody links the somebody post like /topic/123-hello/?showComment=123456 in some messengers, social networks or inside another topic - it will be extremely good if we will see 'Nickname's answer in topic Hello' and description will be part of his post content. Now we see just the topic meta tags, not the linked post info. Thanks!
  10. I think this request might be an old already asked request, but still. I really need the ability to export/import pages/blocks/templates/css/js/media in the same mechanism as it exists for apps/plugins/themes. We usually prefer to create some new landings on the local dev instance of IPS. Moving the ready page with tons of media items, special template, css and js become very hard to work. We need to copy-paste a lot of files, create a needed (and right named) new blocks with an id's, upload media (which id's changes of course) and etc. This feature might be good not only for preparing something. It's good to create one landing and copy them to other production IPS instances (we have a lot of different games and their realms with different addresses). Hope you understand our pain. Thanks for your attention!
  11. I want: CLI-tools for install/build/update/enable/disable apps/plugins/themes. It will provide simplier operation many instances. Any technology, which provide staing framework in background all time. Not default PHP method of die after every request (I know about opcache and other methods, which speed up this, but mainly it's a symptom fixing, not the core of problem). Of course, this point will increase the threshold of entry into IPS. But we want to be "the best" or "just one of"? All have their price. If somebody interesting about that - there is a good article of positive experience at Badoo. Support working as a cluster (on multiple nodes) from the box? I mean some status pages, statistics, logs filter by server node, etc.. (nexus module doesn't do this stuff). Some app/plugin revise tool? Example: if application 'money' use hook for \IPS\Member::load() in IPS 5.1, than if in IPS 5.2 this load method changed - the revise tool should notify about needing to revise 'money' hook. If not changed in original code => not highlight hook. Not so difficult to implement it as it heard. We have a hooks table with classes, we can simple having classess history in a lot of ways. Testing scripts? Please don't laugh at me.. I write (sometimes) test cases for my apps inside IPS. Without total coverage and without doing this job 'as becase that good'. It provide better controll when we have a lot of apps/plugins and want to check them together in newer version of IPS. So tests very helps me. From IPS I'd like to have IPS's tests of IPS Framework. It will provide to us is basic regression testing. We can check our code, but it be not interesting if some basic feature (like a post a topic) wouldn't work -). And of course I'd like to extend basic tests when I extend basic things. United IPS code style. I use PHPStorm and want to see same code format everywhere (in IPS and my code). Now I can't tune my IDE for totally support your style because from file to file it is different. You can do it in several ways - from creating style format file to creating autolinter in your cvs system. Please, dont't forget to share your style rules before =). Or may be you just apply PSR-2? Improved caching system. Sound simple - same incoming params to block/app/etc returns the same result (it worked only when params dont income in the middle of the func). And that's all. May be we can create some additional flag for mark classes, which support that type of caching. Any way.. Using different DB for read and write. For people, who has master-slave replications and who want to improve the speed by reading from slave. It simple and worked perfect! And all neccesary tools already has in current IPS version. No extra pain. ...
  12. @newbie LAC, agree. I was wrong with the idea of same members updates. This part might exclude from attention. I knew about selects, but something broke in my mind when I tried to systematize all needs in this queue task. Feel shame. Thanks for correct me. Agree about performance. Same offset+limit performance degrees I got in upgrade scripts (for members table too) - it was changed well.
  13. Hello. Background task queue 'RecountMemberReputation' must be improved. This background queue can start only from two places: Button to recount ALL reputation in ACP - good When 'somebody' removes given reputation - bad. It's bad from two sides: Logic If you have a big amount of users and their activity it is too heavy to recount reputation for ALL users when just one of them get his reaction back. This call located in \system\Member\Member.php line 3507. Please, make it smarter and stop recount all users. Method This background queue calls with that code: \IPS\Task::queue( 'core', 'RecountMemberReputation', array(), 4 ); We haven't fifth parameter here, which should prevent multiplying this task. So for every canceled reaction, this code creates a new one background queue, which starts recounting your millions of users. No matter finished previous one or not. No matter how much the same task already doing. RecountMemberReputation queue (\applications\core\extensions\core\Queue\RecountMemberReputation.php) should be smarter too. Let's see 'run' function. All looks good, but you miss situation for forums, which using member_id as not incremental id. We have an external account database and the special login service. When new user entering the forum and authenticate in this server - this login method create not a clean member. It creates a new member with a special member_id (which are the same as member id in an external database), which nickname, email, and other data. So for the situation, where the difference (or spaces) between two member_id's maybe thousands (for example it enough), we obtain that situation: \IPS\Db::i()->select(... get a 50 members (for example their id's: 1,178,257,258,259...536,718) They reputation rebuilt successfully 'run' return ($offset + $this->rebuild): (in first run it return 0 + 50 = 50) Second 'run' start with a select and offset 50. So in our select, we get... 178,257,258,259...536,718. Very bad, right? Our members recount the second time... 'run' return ($offset + $this->rebuild): (in second run it return 50 + 50 = 100).... What? The third stage runs with a 100... and will rebuild same member_id's 178,257,258,259...536,718. The fourth stage will rebuild the same members 178,257,258,259...536,718... And on the fifth stage, we just obtain new member_id after 718.. something like 1678. The obvious possible solution is returning the last member_id as offset instead of increment by 50. And of course, in the progress, we see the wrong number. Count number will always be lower than $offset. Change the priority for RecountMemberReputation from current 4 to 5 (as much lower as possible). This task is very heavy for large communities. And it totally blocks other queues with 5 priority. For example, indexing new comment item, which tries to start with a five. The result that we can't index any new comment items before completing this RecountMemberReputation. With multiple RecountMemberReputation queues, it totally blocks all other lower priority tasks. I hope you understand my bad English and agree for improve that points. Thanks!
  14. Two questions: Can you add an option to stop auto animating gifs? If somebody wants to see - he can click for watch it. Like videos. When you create an ability to load heavy content (images, gifs, etc) inside spoiler only after it opened? We still have users who have limited internet traffic. They very hate other people, who posted big pictures and those gifs. And they hate us because we didn't block autoloading heavy content inside spoilers. I think these two features are better than one more simple integration. Looks like a plugin, no more. I'm sorry. Just want to make attention to the more real communities pain connected to the current announcement.
  • Create New...