SaaS, Software as a Service, refers to a model that provides software services through the network.
SaaS platform providers uniformly deploy application software on their own servers, and customers can order the required application software services from manufacturers through the Internet based on their actual work needs. SaaS is not a specific software, but a way of providing software services. Its core is to deploy the software as an online service for users to use through the Internet. Traditional software requires users to buy out or use it in a traditional way. Installed to local computer for use.
In summary, SaaS is a way to provide software services through the Internet. Users can use and pay on demand.
On November 6, 2023, WordPress v6.4.2 was released. Two days later, I migrated my blog to another server. Later […]
For the platform CMS I built myself, the membership subscription part has always been "simple to implement". This weekend I restructured this part and developed the core part.
1. Method
Generally speaking, membership subscription mainly includes three parts: membership subscription plan and purchase, member permission control, and member management.
1. For membership subscription plans and purchases
Just prepare to make some extensions based on the existing mall system.
2. For member permission control,
This needs to be mentioned in particular. We are not planning to do it based on a role permission system, but a separate member-controlled system.
Based on the role authority system, members are made into a role series, and each type of member is made into a role in this role series. It sounds reasonable. However, in this case, it is very troublesome to do or use, especially when there is a lot of business, the various logics will be very complicated, and all kinds of confusion will be caused if you are not careful. And it's not flexible enough.
Moreover, in fact, the membership subscription part of many excellent systems is not role-based. Instead, permission control is implemented based on "marks" or orders. Many well-selling membership subscription plug-ins, including WordPress, are done in this way.
Based on "user tags":
In essence, it is the same principle as the character system. It is to define some "marks" of members. Users who purchase the membership subscription plan associated with this "mark" will be "marked with this mark", so that the control of member permissions can be achieved.
Based on order:
Purchase a membership subscription plan and form an order. After payment, the expiration time will be written into the order. Therefore, you can judge based on the order whether the user is a member, what kind of member it is, and whether it has expired. This way you can control member permissions.
I have done an order-based method before, and this time I plan to use "user tags".
There is nothing wrong with being based on orders, but the order system of the platform CMS I am building now supports many order types, making the order model relatively "large". I don't plan to "add weight" to it anymore, so I chose Based on "user tags".
3. Member management
Based on the existing user management extension, we do not plan to do member management alone.
2. Applicable scenarios
1. Basic scenario
The entire product has one or several subscription plans, which users purchase and enjoy membership services.
Define membership tags globally. Each membership tag contains at least three fields: name, slug, and associated subscription plan id.
When a user purchases a subscription plan with a membership mark, the membership mark and expiration time will be written into the user's meta data.
2. Platform/multi-tenant scenario
For platforms and multi-tenant SAAS, there is a very important scenario: the subscription plan provided by the vendor itself.
Define the supplier's membership tag in the supplier's user's meta data. The key of the supplier's membership tag cannot be the same as the key of the global membership tag.
When a user purchases a subscription plan from this provider, the corresponding membership tag and expiration date will be written to the purchasing user's meta data.
This iteration only implements basic scenarios, but it must be able to be extended to platform and multi-tenant scenarios.
3. Determine whether the membership has expired when logging in
When the user logs in, it is judged whether it has expired. If it has expired, update the member mark in the meta data to false and the expiration date to false.
Last year, I helped an international HR SaaS company to develop a solution. The core of this solution is two successful B-side SAAS platforms […]
The pandemic has changed many things, and collaborative working and online working is one of them.
SAAS applications based on Microsoft Teams seem to be in huge demand.
No more talking, let’s go straight to the video.
For videos with Chinese translations, go to its official website.
There are two types of WEB: document type and application type. Document-type WEB is used to carry content. It doesn’t require much interaction, but it does need to be search engine friendly. For example, various blogs […]
Years ago, I wrote "Review of an Internet Car Rental Platform—How to Hold an Entire Industry" (the article is password-protected and cannot be seen by ordinary people). This article is mainly about […]
The WeChat applet is embedded into the WEB login and PC-side WeChat scan code login. It is not difficult, but it involves many modifications, including my BAAS platform and low-generation […]
I have built many products and systems. Because it often involves rights management issues, I have made some summaries. A few years ago, I built a large-scale trading platform ([…]
Mainly refer to two block editors: WordPress’s Gutenberg editor: https://wordpress.org […]
There are two approaches to SAAS.
1. God’s perspective, controlling user abilities through the user’s role permissions.
2. From the user perspective, organize the information structure and workflow through what the user role needs to do.