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

1,935 profile views
  1. 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!
  2. 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!
  3. 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!
  4. 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. ...
  5. @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.
  6. 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!
  7. 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.
  8. And one more request. Don't make keys like 'Search In'. 'class'...? really?
  9. yep) it's too deeper)) I think this is the main reason in most part of the web for using 'user', 'person', 'author' and other gender-neutral impersonal words) But! Facebook solves this gender depending words (not exactly correct, but not bad)! I think IPS should solve this too! Because they compared In BD topic themselves with FB, YouTube, and other giants...)
  10. In my example, I mean 'posted' should change depend on the second '%s' content type. Not on a containing number. And one more note about replacements. If we imagine a clear understanding the type of content in '%s' (forum comment, for example) in some languages we need to change the word before replacement ('posted' in the example) which should change for 1 item or more than 1 item. Any way to do it? Anyway. l10n & l18n is the deep rabbit hole. IPS can't resolve all these problems. I just want to make some easy rules, which can help us to make changes easier. For example, not include any localization strings inside other localization strings. Better to create many of the same strings, than create one, which generated one from another.
  11. Hi @Meddysong. Thanks for summoning -) Yep. We have a lot of points where we can't just translate using variables. In that cases, we need to expand some key to 10+ keys for providing a right translation. Some examples: email_new_content_unapproved_guest - %s (Guest) has posted %s requiring approval, - 'posted %s' may contain very different content types and word 'posted' should know what is %s stream_blurb_in_containers - %s in %s - same story. 'in' should depend on the type of the second param So in that examples, I mean the problem about using 'meta'-keys - keys, which includes other keys. If you can create 20 same strings (for English) for each type of content contain - it will be much better than your current savings. All languages are very different. So you just need to make keys as much simpler as possible to make localization easier (and thanks for ordering ability). We made high-quality translations from native speakers with specialized education to this languages: cs_CS, de_DE, en_EN, es_ES, fr_FR, it_IT, ja_JP, ko_KO, pl_PL, ru_RU, th_TH, tr_TR, zh_TW_CHT, zu_ZU. Some issues I understand very hard, like that (and moreover - I don't know English well): So, I can ask our Loc&Doc Department for creating a full list of problems with current l10n work, if you want to herd it and their work wouldn't ignore.
  12. All of that is the cool features! Seriously. But all of them focused to improve user activity when he is 'one'. Actually, it's pretty good. But I want to choose another point of view - when forums/etc is the one side and the users are the opposite another side. In that case, users completely not enough options to make the connection between staff and them. I mean some options for filter activity stream authors by user group (to track staff posts, for example), abilities to moving inside a big topic (hundred pages) from first staff post to next, improved voting system for easier create simple public reports like charts, bars with/o showing voted members. Some simple survey system is a highly anticipated feature too. Scheduler for topic publication is very wanted feature too. Some parts for multilanguage forums - where users can set preferred languages in their profile and then filter content in discovery, widgets which they not understand. I think you understand what I mean. Maybe this requests is too far from this post. Sorry if this is so.
  13. Moreover, if somebody creates a topic without any images, then somebody replies to this topic with an image -> then widget will show the replied image. And the topic starter cant changes this image to his one with editing his owned post and embed a right image. This is because widget logic searches an image with a sorting by attached image id, not by the ids of topic posts.
  14. Actually, the right answer already sent. But, guys... this field should be the little bit smarter. I mean... okay we hide our visiting. But if we post something this post with current date shows in our profile activity with the right date. I think last visit field should change on the content adding action. It looks very strange and unclear without this logic.
  • Create New...