Understanding the system architecture
Who is this article for?IT Personnel looking to understand the Please Review system architecture.
No elevated permissions are required.
This article provides an overview of the functional components comprising a Please Review server. It aims to offer a detailed yet accessible description of the component parts of Please Review.
Note: Please Review requires Microsoft .NET Framework. For 7.8.0 and below - install .net framework 4.7.2 or higher. For 7.9.0 and above - install .net framework 4.8 or higher.
1. Component architecture
Please Review has the following main components:
- The Please Review web interface.
- The Please Review service.
Please Review requires:
- A database.
- A file store.
- An email server.
- A licensed and activated copy of Microsoft Office.
Note: All the required items can be on the same server as Please Review itself.
2. Server components
The Please Review server is compatible with Windows Server 2016, 2019, and 2022. It's typically set to run all components in 64-bit mode, but 32-bit mode is also possible if needed. Please Review is designed as a flexible application with various components for deployment in complex setups.
Important: The components illustrated may not correspond directly to hardware or individual Windows installations. Services can be clustered, and multiple services can run on the same machine.
2.1 Database server
This server stores metadata for reviews, including comments, document names, and properties. It also manages user authentication (unless using a third-party system like Active Directory). Actual document files are stored separately. The Please Review database account doesn't need system-level privileges; it just needs basic database operations.
The database's configuration is independent of Please Review, making it compatible with various clustering and replication technologies. Please Review works with different versions of SQL Server and Oracle Database.
2.2 Email services
Please Review needs access to an email server to send notifications. It only sends emails and doesn't receive them. It supports SMTP AUTH and SSL/TLS for relaying, or the email server can be configured to accept relay from Please Review's IP.
Note: The email feature can be disabled if not needed.
2.3 File store
This is a location accessible to the web server and Please Review service. It can be local, network-based, or on a SAN. The Windows accounts used by Please Review must have full control over these files.
2.4 Please Review service
This service processes documents and sends emails. It requires Microsoft Office and is usually installed with the web interface.
2.5 Please Review web interface
It's the main user interface, a managed-code ASP.NET application. It can run alongside other ASP.NET apps but should ideally be in a separate application pool.
2.6 Web servers
Can be implemented as a cluster for scalability and availability. Session cookie management is necessary.
2.7 Please Review web services
These are part of the web interface and form the API for external access. Access is controlled via web service access keys. API usage beyond standard components and authorised integrations requires separate licensing.
3. Client components
The Please Review client components connect to the Please Review business services via web services, enabling third parties to utilize standard tools and methods with Please Review services.
These client components are optional and enhance the standard web interface. They include:
- The Offline Client (OLC): Offers offline review features for users without constant internet access.
- The Word plugin: Allows users to initiate reviews or upload edited Zones directly from Microsoft Word.
These components are necessary only for the specified functions. Further information is provided in the documentation.
Note: All client components are exclusively accessible on Windows platforms.
3.1 Offline Client
The Please Review Offline Client (OLC) enables users to download documents from the main Please Review server, review them offline, and then upload their comments when they regain network connectivity.
The operation of the Offline Client is:
- Downloading reviews: When users connect, the OLC fetches the necessary web UI code from the Please Review server. It automatically updates if the server undergoes upgrades.
- Selecting and downloading reviews: Users can choose from the list of reviews they're involved in and download the relevant documents and data for offline reviewing.
- Launching the review: The OLC launches a simplified version of the Please Review web interface on the user's local machine, using the Microsoft Edge WebView2 to display the review.
- Uploading comments: Once the offline review is complete, users can upload their comments to the server using a web service.
Additional Details:
- Installation: The OLC is deployed through a single install program and supports various remote deployment tools. It requires .NET framework.
- No need for Microsoft Office: Document processing is handled by the Please Review server before download.
- Offline limitations: The OLC doesn't support creating reviews offline.
- Login and security: Users log in using their standard credentials or SAML2-based single sign-on solutions. Secure HTTP (HTTPS) connections are supported and necessary for SAML2 systems.
- Offline status: Users' status on the main server is marked as "offline" to inform review owners that they're handling the review offline.
3.2 Word Plugin
The Please Review Word plugin offers two main functions:
- Review creation: Users with Author privileges can initiate a review in Please Review directly from Word. This involves uploading the document via a web service and then launching the browser to continue the review setup process, such as setting deadlines and adding participants.
- Zone publishing: Contributors using the co-authoring (Zones) feature can publish a Zone directly into Please Review from within Word.
Key points about the Word plugin:
- It requires at least .Net Framework and VSTO 4.0 for Word 2021/2024/365.
- The plugin shares server configuration details with the OLC, allowing the use of the same login credentials for both if needed.