shahed Posted December 15, 2022 Posted December 15, 2022 (edited) Hello, Some of my Marketplace resources are received updates as far as IPS ver 4.4, which is gonna be removed soon and out of support entirely by IPS. the most requested and frequently wanted of them is Infobox buttons and by their nature, only can be install like a normal CKEditor plugin, as .zip files... and since .zip files can't be upload in marketplace anymore as of IPS ver 4.5 forward, simply updating this resource is also stopped. I really like to continue support this, specially as of recent I have re-created them from scratch with dozens of new features and settings, but as I said there is no way to send .zip buttons along main plugin and xml file. is it possible for IPS to accommodate for such submissions in future? just adding ability to upload additional file for plugins/app in marketplace should do the job. in Theme submission it's possible, so why not for plugin/apps? or maybe there are better way to this? as long as it solve the problem, that would be fine. Edited December 15, 2022 by shahed Unlucky 1
ZakRhyno Posted December 20, 2022 Posted December 20, 2022 I was curious about this as well, any word from, IPB staff could give feedback? shahed 1
Randy Calvert Posted December 20, 2022 Posted December 20, 2022 This was discussed in a different topic. Unless the resource is an application or plugin, it would not be supported in marketplace. The suggestion was to attach the file to a forum post. shahed 1
Nathan Explosion Posted December 20, 2022 Posted December 20, 2022 Overkill, probably, but this would solve the situation: Create an application, with a single admin module Add the zip file as a resource in the application The admin module could then display instructions on what to do, along with a link to the zip file to allow it to then be downloaded and manually installed by the user POC (NE) Zip file example 1.0.0.tar plus dev folder neappzipfile.zip shahed, A Zayed and Randy Calvert 1 2
ZakRhyno Posted December 20, 2022 Posted December 20, 2022 59 minutes ago, Randy Calvert said: This was discussed in a different topic. Unless the resource is an application or plugin, it would not be supported in marketplace. The suggestion was to attach the file to a forum post. Even with all of this how does the maker get pay if not via the marketplace? That really never answer per the issue as well. the information is great but never address in the link details. 28 minutes ago, Nathan Explosion said: Overkill, probably, but this would solve the situation: Create an application, with a single admin module Add the zip file as a resource in the application The admin module could then display instructions on what to do, along with a link to the zip file to allow it to then be downloaded and manually installed by the user POC (NE) Zip file example 1.0.0.tar 32 kB · 0 downloads plus dev folder neappzipfile.zip 11.86 kB · 0 downloads I get it, still how does the maker of said stuff get funded if they want to sell such an item? Should really something like this be remove from the marketplace as a resource if the maker wants to get pay by it and sell their goods? IPB not doing this does remove the options for such things and limits already that could expand on things then improveing them. Maybe a Marketplace area for this as if it was free and just posted on the forums then I guess that what form but is not the point of the Marketplace to see what others can offer others of the same software to improve via a resource. I have to wait for @shahed to reply to get more feedback as he is the POC.
Nathan Explosion Posted December 20, 2022 Posted December 20, 2022 1 minute ago, ZakRhyno said: I get it, still how does the maker of said stuff get funded if they want to sell such an item? Should really something like this be remove from the marketplace as a resource if the maker wants to get pay by it and sell their goods? ? It's an application - it can be sold on the MP.
ZakRhyno Posted December 20, 2022 Posted December 20, 2022 5 minutes ago, Nathan Explosion said: ? It's an application - it can be sold on the MP. Not really. It a adds buttons to the editor here to have a predone layout from the old files. The editor doesn't take XML files. As the Marketplace only take XML files thus the issue if I understand it all correctly.
Nathan Explosion Posted December 20, 2022 Posted December 20, 2022 Just now, ZakRhyno said: Not really. Yes, my suggestion to the problem IS an application. Wait for Shahed to read what I have put up, they're the developer.
ZakRhyno Posted December 20, 2022 Posted December 20, 2022 Just now, Nathan Explosion said: Yes, my suggestion to the problem IS an application. Wait for Shahed to read what I have put up, they're the developer. Yay, good thing to wait and see if that is a fix to this issue. He does good work.
shahed Posted December 21, 2022 Author Posted December 21, 2022 17 hours ago, Randy Calvert said: This was discussed in a different topic. Unless the resource is an application or plugin, it would not be supported in marketplace. The suggestion was to attach the file to a forum post. It is a similar case, but not sure how you could sell. if the topic was created in a private Club in IPS clubs, which accessible by users selected by developers this could work. but developers can't create club here. plus if it is not gonna be send in Marketplace so they are not be subject for review. I'm not sure at the end gonna be approve by marketplace moderators. 17 hours ago, Nathan Explosion said: Overkill, probably, but this would solve the situation: Create an application, with a single admin module Add the zip file as a resource in the application The admin module could then display instructions on what to do, along with a link to the zip file to allow it to then be downloaded and manually installed by the user POC (NE) Zip file example 1.0.0.tar 32 kB · 1 download plus dev folder neappzipfile.zip 11.86 kB · 1 download This solution is more practical. but again it would be manual download and manual install. not sure gonna be approve by Moderators here for marketplace. manual install can be sold all sorts of ways like topics, PM, developer website ... after installable resource being sold in marketplace. so I think question is will IPS approve it. I wish someone from IPS clarify this. Nathan solution can actually work, since moderators can install app then download zip file through it and perform review. at the end i really want to know if this is acceptable by marketplace moderators. there is also individual problem for me as I never created apps nor work with them. so I suspect gonna take time which currently I don't have. I always like simplicity of working with plugins in IPS platform, but moving to apps is also inevitable.
Nathan Explosion Posted December 21, 2022 Posted December 21, 2022 You can do the above with a plugin too. shahed 1
Nathan Explosion Posted December 21, 2022 Posted December 21, 2022 3 hours ago, Nathan Explosion said: You can do the above with a plugin too. Scratch that - looks problematic; will probably work with a bit more time put into it but none at the moment. The app method is all good though.
shahed Posted December 22, 2022 Author Posted December 22, 2022 17 hours ago, Nathan Explosion said: Scratch that - looks problematic; will probably work with a bit more time put into it but none at the moment. The app method is all good though. I have tested this and yes... same method won't work with plugins.
Sirmadsen Posted January 3, 2023 Posted January 3, 2023 This is the problem with the "new" marketplace. Developers only way to make profit now is to use the (in my opinion) obsolete and step backward admin marketplace built into IPS. You can no longer download files and save them even if you are the owner of a license (which you have the rights to according to some EU country laws). Of everything bloaty and unnecessary features IPS have done during the last years this marketplace is by far the worst and probably also the reason to why no other software have this, they usually provide both solutions. Honestly IPS need to rethink how they provide plugins to license holders, not only for their developers that keep the software updated with plugins and features that by far succeed even main features of IPS, but also from a legal stand point. Otherwise they will have to limit the marketplace and only give access to certain regions if the wrong person catches on and is having a bad day. Me personally, don't know anything about coding. I am however a good graphics designer. But I can't contribute to the community due said limits in the marketplace. It is sad and quite frustrating. But what do I know, I only pay for my license and look happy. Why should IPS care what paying customers think?...
Marc Posted January 4, 2023 Posted January 4, 2023 12 hours ago, Sirmadsen said: You can no longer download files and save them even if you are the owner of a license (which you have the rights to according to some EU country laws) I would point out here that the marketplace downloads the files to your platform. If you are a self-hosted customer, you have access to all the files on your hosting at any point. If you are a cloud customer, you are actually running a service and not a downloadable product.
teraßyte Posted January 4, 2023 Posted January 4, 2023 6 hours ago, Marc Stridgen said: I would point out here that the marketplace downloads the files to your platform. If you are a self-hosted customer, you have access to all the files on your hosting at any point. If you are a cloud customer, you are actually running a service and not a downloadable product. That's not 100% true for self-hosted: For applications you can indeed download a copy of the folder from the server and you're done. For plugins however it's not the case: missing install/upgrade files, resources, javascript, etc. Manually re-creating a plugin's XML file after it's installed is a real pain. I received some requests for updating old plugins and since they didn't have the original XML file it was a really annoying process upgrading them. ZLTRGO 1
Marc Posted January 4, 2023 Posted January 4, 2023 Just now, teraßyte said: That's not 100% true for self-hosted: For applications you can indeed download a copy of the folder from the server and you're done. For plugins however it's not the case: missing install/upgrade files, resources, javascript, etc. Manually re-creating a plugin's XML file after it's installed is a real pain. I received some requests for updating old plugins and since they didn't have the original XML file it was a really annoying process upgrading them. It does however contain everything that was sold to the user. ie. the working plugin and files its running. Otherwise it wouldnt be running. I understand what you are referring to there, but we are talking cross purposes. Yours is an "Its in an annoying format to use to do xyz", which is different to it not existing. I completely understand your point of course Jim M 1
ZakRhyno Posted January 4, 2023 Posted January 4, 2023 How would you tho work on the main issue from the OP @shahed in the marketplace so that they can still sell files? @Marc Stridgen
shahed Posted January 12, 2023 Author Posted January 12, 2023 For this resource the Drama i think is over. Thanks everyone involved here, specially @Nathan Explosion for suggestion and @ZakRhyno 👍 With this format, i think it should be possible for other similar resources like graphic files to be submit in marketplace. 🤔 Nathan Explosion 1
Daniel F Posted January 12, 2023 Posted January 12, 2023 The instructions to manually add the css classes are unnecessary, you can literally create a hook and programmatically whitelist them. I’ve also put on my todo list to see if one could literally create avoid the manual down and upload, it shouldn’t be hard to “fake” the request.
Daniel F Posted January 12, 2023 Posted January 12, 2023 IPS\Text\Parser::getAllowedCssClasses() can be hooked to add the additional css classes. Would be much user friendlier 🙂 Also if you're up to suggestions, I would open all the links in your ACP instructions/descriptions in a new window/tab. It's quite annoying and distracting it if opens in the same window before one e.g. copied the classname.
shahed Posted January 12, 2023 Author Posted January 12, 2023 1 hour ago, Daniel F said: The instructions to manually add the css classes are unnecessary, you can literally create a hook and programmatically whitelist them. 1 hour ago, Daniel F said: IPS\Text\Parser::getAllowedCssClasses() can be hooked to add the additional css classes. Would be much user friendlier 🙂 Thanks Daniel, i wasn't aware of this. is there example for this? 1 hour ago, Daniel F said: Also if you're up to suggestions, I would open all the links in your ACP instructions/descriptions in a new window/tab. It's quite annoying and distracting it if opens in the same window before one e.g. copied the classname. Sure and i like it, this shouldn't be a problem.
Daniel F Posted January 12, 2023 Posted January 12, 2023 Something like following code should work. protected function getAllowedCssClasses() { return array_merge(parent::getAllowedClasses(), ['MVN_infoboxes_container','MVN_infoboxes_container-left'....]); } shahed 1
shahed Posted January 12, 2023 Author Posted January 12, 2023 1 hour ago, Daniel F said: Something like following code should work. protected function getAllowedCssClasses() { return array_merge(parent::getAllowedClasses(), ['MVN_infoboxes_container','MVN_infoboxes_container-left'....]); } Thanks Daniel, I have created hook for this, but for test there is unexpected template error. here the error after posting in a topic: Error: Call to undefined method IPS\Text\cms_hook_Parser::getAllowedClasses() in D:\xampp\htdocs\ips_45\init.php(927) : eval()'d code:20 Stack trace: #0 D:\xampp\htdocs\ips_45\system\Text\Parser.php(574): IPS\Text\infobox_hook_allowedCSSClasses->getAllowedCssClasses() #1 D:\xampp\htdocs\ips_45\system\Text\Parser.php(186): IPS\Text\_Parser->_htmlPurifierConfiguration(NULL) #2 D:\xampp\htdocs\ips_45\system\Helpers\Form\Editor.php(579): IPS\Text\_Parser->__construct(true, '88b77eab7255e0e...', NULL, 'forums_Forums', true, true, NULL, true, NULL) #3 D:\xampp\htdocs\ips_45\system\Helpers\Form\Editor.php(423): IPS\Helpers\Form\_Editor->_getParser() #4 D:\xampp\htdocs\ips_45\system\Helpers\Form\FormAbstract.php(167): IPS\Helpers\Form\_Editor->getValue() #5 D:\xampp\htdocs\ips_45\system\Helpers\Form\Editor.php(569): IPS\Helpers\Form\_FormAbstract->setValue(true, false) #6 D:\xampp\htdocs\ips_45\system\Helpers\Form\FormAbstract.php(147): IPS\Helpers\Form\_Editor->setValue(true) #7 D:\xampp\htdocs\ips_45\system\Helpers\Form\Editor.php(212): IPS\Helpers\Form\_FormAbstract->__construct('topic_comment_1...', NULL, true, Array, Object(Closure), NULL, NULL, NULL) #8 D:\xampp\htdocs\ips_45\system\Content\Item.php(4977): IPS\Helpers\Form\_Editor->__construct('topic_comment_1...', NULL, true, Array, Object(Closure)) #9 D:\xampp\htdocs\ips_45\system\Content\Item.php(4654): IPS\Content\_Item->commentFormElements() #10 D:\xampp\htdocs\ips_45\system\Theme\Theme.php(885) : eval()'d code(5615): IPS\Content\_Item->commentForm() #11 D:\xampp\htdocs\ips_45\system\Theme\SandboxedTemplate.php(61): IPS\Theme\class_forums_front_topics->topic(Object(IPS\forums\Topic), Array, NULL, Array, NULL, NULL, Array) #12 D:\xampp\htdocs\ips_45\applications\forums\modules\front\forums\topic.php(576): IPS\Theme\_SandboxedTemplate->__call('topic', Array) #13 D:\xampp\htdocs\ips_45\system\Dispatcher\Controller.php(118): IPS\forums\modules\front\forums\_topic->manage() #14 D:\xampp\htdocs\ips_45\system\Content\Controller.php(50): IPS\Dispatcher\_Controller->execute() #15 D:\xampp\htdocs\ips_45\applications\forums\modules\front\forums\topic.php(39): IPS\Content\_Controller->execute() #16 D:\xampp\htdocs\ips_45\system\Dispatcher\Dispatcher.php(153): IPS\forums\modules\front\forums\_topic->execute() #17 D:\xampp\htdocs\ips_45\index.php(13): IPS\_Dispatcher->run() #18 {main} It says "undefined method IPS\Text\cms_hook_Parser::getAllowedClasses() " but there is no such cms_hook_Parser in the hook or anywhere else in the app for that matter. here the code in hook: //<?php /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { exit; } class infobox_hook_allowedCSSClasses extends _HOOK_CLASS_ { /** * Get allowed CSS classes * * @return array */ protected function getAllowedCssClasses() { return array_merge(parent::getAllowedClasses(), ['MVN_infoboxes_container','MVN_infoboxes_container-left','MVN_infoboxes_container-right','MVN_infotopic_container','MVN_infoline_container','MVN_infolineP','MVN_infolineV','MVN_infotoggle_container','MVN_infotoggle_title','MVN_infotoggle_content','MVN_infotoggle_openClose','MVN_bquote','MVN_infogb_container','MVN_infogb_thegood','MVN_infogb_thebad','MVN_reviewRate','MVN_secwp-image-cover','MVN_secwp_filter','MVN_imgComparison_container','MVN_imgComparison','MVN_imgComparison_resize','MVN_imgComparison_handle','MVN_columnBTN_half','MVN_columnBTN_third','MVN_spoilerText_BTN']); } }
Nathan Explosion Posted January 12, 2023 Posted January 12, 2023 return array_merge(parent::getAllowedCssClasses().... shahed 1
Recommended Posts