Category: phpFox V4

  • Performance Enhancement in phpFox 4.7.0

    Performance Enhancement in phpFox 4.7.0

    As teased in the phpFox 4.7.0 Sneak peek, improving performance is one of the primary targets for phpFox 4.7.0 development. In this blog, we will discuss in more detail about performance enhancement in phpfox 4.7 by briefly describing the way we conduct the performance test, the test result and some further discussions about scalability with phpFox.In recent years, phpFox is becoming the best platform for Niche Social Networks, and so there is an increasing amount of users all around the world. As you may know, performance has been one of the major care and we put a lot of effort for code restructuring for performance improvement in phpFox 4.4. In phpFox 4.7, we revised the platform performance again with the latest technologies and we realize that we can do it much better. Testing Environment  I. System EnvironmentTo simulate a common use case in which the whole system is deployed in one single dedicated server, we take a standard server with the following configurationsIntel® Core™ i7-4790 CPU, 4 cores / 8 threads 16G RAM 250G SSD Ubuntu 16.04 OSThe server is installed the following softwareNginx version 1.14 as the web server. PHP-FPM with PHP version 7.2. The pool process manager is set to "ondemand" instead of the default "dynamic" setting. Opcache and APCu are also enabled. The "request_terminate_timeout" is set to "15s". MySQL Community Server version 5.7.22. Redis server version 3.x as the cache layer. II. DatasetWe install phpFox 4.7 and use the in-house data generation script to simulate a phpFox social network site with the following dataAll phpFox's default apps are installed. 10,000 users with 200,000 membership relationships. Each app (such as photo, forum, blog, polls, events, quizzes, etc.) has approximate 30,000 items.The site statistics is attached as follows  III. Testing MethodWe use Locust as a load testing tool. The Locust software runs with 4 slave threads on an Intel Xeon E3-1270 v6 CPU @ 3.80GHz (4 cores/8 threads) to be sure the load is put to the site properly. The test is conducted with the HTTPS protocol so that the cost for resolving SSL is also taken into place. Each virtual user will conduct the following activitiesFirst, visit the site home page. Next, login with his email and password. We force the locust script to pick different users for each session. After login, the virtual user will continuously visit all landing pages of activity feeds, member list, and all default apps (such as photo, forum, blog, polls, events, quizzes, etc.).Each test runs continuously at least 10 minutes at the highest load. IV. Acceptable Passing Criteria A test can only consider being passed if it satisfies all the following criteria:All requests must respond less than 15 seconds. If one single request exceeds 15s, the test is failed. No single failed request during 10 minutes at the "peak" load. The software must handle at least 500 concurrent online logged-in users in one dedicated server with the above testing method.Testing Results  I. The number Tl;dr: phpFox 4.7.0 passed the performance test with 600 concurrent online users as in the following screenshot:Some detailed numbers are highlighted as follows:The system can handle more than 600 online users with the above configuration with no failed request. Average response times for all requests is ~ 7.x seconds. The system can handle ~ 105 Requests Per Second (RPS). II. Some Conclusions The result between File Cache and Redis Cache settings are nearly the same in this system. However, when running on a non-SSD system with more writing operators, the Redis Cache setting proves to be better.Comparing to the previous version (phpFox 4.6.1 - 27 RPS & 17s Average Response Time), phpFox 4.7.0 can handle more than 3x RPS and Average Response time is less than 1/2 on the same system configuration.If your phpFox social network contains mostly browsing activities as in the test, the real online users might be higher since this test simulates concurrent online users.The real concurrent number of users can also be higher this test since this test does not take the non-logged-in users into account. For non-logged-in requests, we can offload the application/database server by simply configuring your web server/proxy/load balancer to cache page content.The test only focuses on "browsing" activities with no new content posting activities. Results will be different depending on the real member activities on different social network sites with different installed apps. Further Discussions We also conducted a similar performance test on a cluster of multiple servers. In this system, we utilize the following configuration to achieve much higher concurrent online users by splitting loads among servers:We use HAProxy as the high-performance load balancer. Nginx and PHP-FPM are used in application servers that serve phpFox source code. We also use Nginx micro cache for off-loading non-logged-in visits. For Database cluster, we utilize the latest MySQL Group Replication under a high-performance proxy to distribute database read and write loads among many database servers. Please be noted that supporting for MySQL Group Replication is only available from phpFox version 4.7.0. We utilize a Redis cluster for Caching purpose.Maintaining a cluster of servers when users and the site traffic grows are tedious and complex work. So we always recommend our clients to move to a cloud-based environment such as Amazon Web Service when their site grows. Also, setting up an optimized environment for a growing social network with lots of user activities is not an easy task so we do provide all services for your growing site. Be sure to check our Services page to see what we are providing. Final Words As a result of the above tests on phpFox 4.7.0 performance, it's a certainty to come up with a solid statement that this new version surely opens up a brand new and enjoyable experience to you when it comes to how well your social network handle requests and respond accordingly.Share us your thought on how phpFox 4.7.0 performs on your Social Network by emailing us at hello@phpfox.com. 
  • phpFox 4.7.0 Developer Release

    phpFox 4.7.0 Developer Release

    We delightedly announce that the phpFox 4.7.0 Developer Release is available now. It is necessary to note that The Development Release is for testing purpose and specially delivered to 3rd-party experts only. Experts who are having products on phpFox Store can check and tweak their products for compatibility in the meantime. phpFox 4.7.0 which is the biggest upgrade in 2018 is expected to be officially released to the public in October. In this version, phpFox takes a big stride with several improvements in performance, scalability, and features to reassure that it is the best platform for Social Network. Please don't forgot to check its Sneak Peek blog for more info. For Experts You can now download the package of phpFox 4.7.0 Development Release in the Client Area. In order to help you update your products conveniently, we also prepared developer note and changelog. Please feel free to contribute your thoughts and findings on this Development Release via Ticket System. We appreciate and love to hear feedback and suggestions so we can place finishing touches to phpFox 4.7.0 before launching the official release.
  • phpFox Mobile apps Sneak Peek!

    phpFox Mobile apps Sneak Peek!

    In the developed world today, most likely you will own a smartphone, and of course, mobile apps are daily essentials. Therefore, it wouldn’t be exaggerating to say that a mobile app is the present and future of any Social Network. Let's start a quick view with phpFox Mobile apps.  (more…)
  • phpFox 4.6.1 Build 6 Release

    phpFox 4.6.1 Build 6 Release

    We delightedly announce that the version 4.6.1 build 6 is officially released now. We have more issues fixed and improvements added in this maintenance version.phpFox 4.6.1 Build 6 Let's take a quick look at them now: Issues FixedThe verification message comes in a wrong language In AdminCP - Manage Settings section of a certain app, buttons on the bottom panel are overlapped. Can add spaces in username when signing up Can add banned words when posting or editing feed status While posting feed item with photo, Share button can't be enabled if switching from Photo tab to another tab Show wrong action button on members at Browse Users pageImprovementsRemove unnecessary cache header X_PF_CACHE_FAILED Update phrase of "Profile Update" feed item in case a user does not have gender In Bootstrap template, do not allow to toggle menu on a mobile devicePlease check this doc for more details Installation InfoDownload Upgrade Instructions Installation InstructionsNoticeIf you are using version 4.5.x, it is important that you need to check this doc before upgrading your phpFox site.Change LogSee the complete changed file list here. For 3rd-party experts, you should also check this article in order to make your products compatible with this new phpFox version.Next releases? On top of our mobile app, we are also working very hard on new version 4.6.2 and 4.7.0. Many interesting and significant enhancements will be added. We will get back to you with more details about these versions very soon. Therefore, please keep watching our blogs and subscribe to our newsletter to receive our newest updates.
  • phpFox 4.6.1 Build 5 Release

    phpFox 4.6.1 Build 5 Release

    phpFox 4.6.1 build 5 We are pleased to announce the phpFox 4.6.1 build 5 is released now. In this maintenance version, we continuously fixed many issues as well as added some minor improvements to make your phpFox site more stable.Let's take a quick look on some highlighted info of this version now: Issues FixedVideo - Technical issue when adding wrong video link Global Search - Keywords are removed when clicking on the Search icon Login As Page - Unable to delete feed item right after shared Feed items of relationship show duplicated username Blogs - Search - RTL layout isn't applied when switching to RTL languageImprovementsSeparate Subscription as a standalone app. Sign up - Enable "Username" field by default Remove old Ads module You can find more details about improvements and issues fixed in this article.As we removed Ads module since version 4.6.1 build 5, you can install/upgrade the Better Ads app on phpFox Store.Moreover, come along with phpFox 4.6.1 build 5, the Subscription app is now available as the stand-alone app on phpFox Store. Therefore, after upgrading to phpFox 4.6.1 build 5, please don't forget to install the new Subscription app right then. With fresh phpFox installation, Subscription app can be installed normally. Installation InfoDownload Upgrade Instructions Installation InstructionsChange LogSee the complete changed file list here.Wanna purchase phpFox licenses? You are really lucky that we are having Hot Summer Sale promotion until July 31st, 2018. Please check this blog for more info. And, hurry up! The promotion will end very soon.If you found any bugs with this release, please report in our GitHub tracker. You can also submit a ticket in your client area to receive support from our team.
  • GDPR compliance with phpFox 4.6.1 build 4 Release

    GDPR compliance with phpFox 4.6.1 build 4 Release

    phpFox Is Ready For GDPR Compliance What is GDPR?GDPR stands for General Data Protection Regulation is EU’s new privacy law which came to effect recently on 25th May 2018 to replace 1995 Data Protection Directive (Directive 95/46/EC).It aims to give control back to any individual in EU over their personal data and to simplify the regulatory environment for international businesses. Even if you are not in EU, but you have any business activity with clients located in Europe, then GDPR is also applicable for you.We introduced several features and functionalities in phpFox 4.6.0 build 3 to ensure GDPR is properly applied to our platform. The main focus is to give users control over their data. Individual Rights of GDPR Applies on phpFox The Right to be Informed phpFox allows you to setup and define the content as well as the URL for Terms of Service & Privacy Policy of your site. This is to inform your users about user data stored on phpFox site. In addition, phpFox Script also stores info of the session. It includes the login history with info on the browser, device, IP address, action, and timestamp. This applies on top of all data that a user entered manually to the phpFox site.Please check the following screenshots for your guidance.Select Edit on a certain page to start working on the content of these pages. You can also choose to enable the option for a user to agree to the 'Terms & Privacy Confirmation'. in the registration process. From Admin CP > Settings > Registration Settings, enable Term & Privacy Confirmation setting.A user will need to check the box to confirm that they agree to your Terms of Service & Privacy Policy when creating an account.Furthermore, the user can also refer to the Term of Service & Privacy Policy at any time by clicking the link in the footer section on your site. The right of access/right to rectification phpFox allows users to access, view, and edit their personal information upon login. You can access this section for viewing and updating by selecting on profile > Account Settings.This personal information which a site collects varies from site to site. They can define custom fields to collect additional data. However, as a default requirement, phpFox saves user information such as the Full name, Email, Password, Language, Timezone, and Currency.The right to erasure/right to be forgotten In phpFox 4.6.1 build 3, any user can choose to cancel their account. It can be easily accessed by selecting Cancel Account in Account Settings section.A user can use the option to delete all their data by canceling an account. It includes a personal information in the user's profile, posts, comments, photos, music, video, tags… The user might need to fill out the form to provide some information before processing on to account deletion.The right to data portability The meaning of Right to data portability is that users are able to export and receive all of their personal data in a machine-readable format.Therefore, a user can now generate a customizable export of data with this new build 3 functionality. You can access this feature by selecting Download a Copy of your Data in Account Settings section.Users can choose which data they wish to export from the next pageA zip file will be downloaded which include all data entities you select to export before in JSON format. And, phpFox 4.6.1 Build 4 is available now! We are pleased to inform you about the very quick release 4.6.1 build 4 for maintenance. Some important security improvements and bug fixes are included in this version. Please refer to this article for more details.You can report in our GitHub tracker if you found any bugs with this release. Moreover, you can submit a ticket in your client area to receive support from our team.  Summary We hope that with these releases, it will be easier for you to meet your compliance needs and obligations.Please feel free to contact us either from your Client Area or email at hello@phpfox.com if you have any questions.
  • phpFox 4.6.1 Build 3 Release

    phpFox 4.6.1 Build 3 Release

    We are pleased to announce the version 4.6.1 Build 3 is here now. In this minor release, on top of some bug fixes, we also focused on adding essential features to help phpFox site with GDPR Compliance which will be officially applied from May 25th, 2018. What is GDPR? The General Data Protection Regulation (GDPR) (EU) 2016/679 is a regulation in EU law on data protection and privacy for all individuals within the European Union and the European Economic Area. It also addresses the export of personal data outside the EU and EEA. The GDPR aims primarily to give control to citizens and residents over their personal data and to simplify the regulatory environment for international business by unifying the regulation within the EU.Now, here are some highlighted items in this release:[Improvement] Able to export user data [Bug Fix]  Relationship Status does not show on the User profile. [Bug Fix] Relationship Statuses do not update unless clearing cache in AdminCP [Bug Fix] When going to AdminCP, blank page sometimes displays with Error "Could not resolve host: store.phpfox.com" [Bug Fix] Show unfriendly error about mail function on Front-end when SMTP is configured wrong [Bug Fix] AdminCP - Mail Settings - Show "Array" phrase [Bug Fix] When a guest browses another user profile, an unnecessary option to delete the event is enabledAnd some other minor issues are also fixed in this release. Please refer to this article for details.  Notice To support the ability to export user data, the Material template and Single Device Login app also require being updated along with Core version 4.6.1b3. The new versions of these products are now available on phpFox Store. If you are using the Material template and Single Device Login app, please don't forget to upgrade them to their latest version as well right after upgrading the phpFox Core.Installation InfoDownload Upgrade Instructions Installation InstructionsChange LogSee the complete changed file list here. If you found any bugs with this release, please report in our GitHub tracker. You can also submit a ticket in your client area to receive support from our team.
  • phpFox 4.6.1 Build 2 Release

    phpFox 4.6.1 Build 2 Release

    We are back to announce the quick release of phpFox 4.6.1 build 2. Together with the release of phpFox 4.6.1, we have added some significant improvements in scalability of this version but it seems the installation didn't work well in some particular cases. That is the reason for this maintenance release. Aside from the reported issues we received, we have fixed some bugs focusing on the critical ones. In this build, we have fixedProblem installing the site if using CloudFare Blank site if the site is using a clone theme of Material 4.6.0  Lost language phrases after upgradingAnd some other minor issues are also fixed in this release.For any clients who did try upgrading to version 4.6.1 and are having one of 3 issues above, you won't be able to use the package 4.6.1b2 to fix the problem. Instead, please refer to this page for the complete solution in installing/upgrading your site. Or feel free to contact us in Client Area. We are more than glad to help you Installation InfoDownload Upgrade Instructions Installation InstructionsChange LogSee the complete changed file list here. If you found any bugs with this release, please report in our GitHub tracker. You can also submit a ticket in your client area to receive support from our team.
  • phpFox 4.6.1 Official Release

    phpFox 4.6.1 Official Release

    Coolest Social Network CMS ever! That is one of the highlights of this latest stable version release. With its newly designed AdminCP, phpFox officially announces the release of phpFox 4.6.1.(more…)
  • phpFox 4.6.1 Developer Release

    phpFox 4.6.1 Developer Release

    phpFox is about to release phpFox version 4.6.1, which includes fixes for issues reported by clients in GitHub and in our Community Forum. It also includes feature improvements that are carefully tested by the phpFox development team. There is also going to have a new AdminCP Layout on this latest version. But before the official release, we will release this dev release for testing purposes.Download the Dev Release package in the Client Area For Testing Purposes This Development Release is specifically for all phpFox 3rd party Experts only. The purpose of this release is for all the 3rd Party Experts to test the compatibility of all 3rd party products which include apps and themes to the latest version of phpFox 4.6.1. The 3rd Party Experts will perform the necessary test and tweak features in this version. Compared to the current phpFox 4.6.0, this version contains many improvements that will absolutely love by phpFox fans out there.We encourage you to submit your feedback via ticket. We would love to hear any feedback or suggestions that can help phpFox 4.6.1 before we launch the official release.
Fox