revit-journal-assist
Version:
A web-based interface for viewing Autodesk Revit journal logs
187 lines (136 loc) • 7.15 kB
Markdown
# Revit Journal Assist
A Windows application providing a web-based user interface for viewing Autodesk Revit journal logs. This tool simplifies the process of locating, viewing, and downloading Revit journal logs across multiple user accounts and Revit versions on a Windows workstation.
## Application Description
Revit Journal Assist is designed to provide remote assistance for Revit journal log analysis. It runs as a background service with a system tray icon and offers a web-based interface accessible from any web browser, making it easy to browse and examine Revit journal logs from anywhere on the network.
## Functionality
### System Tray Icon
- Runs in the background and displays an icon in the Windows system tray
- The system tray icon provides a context menu with options to:
- Open Web UI: Launches the web interface in your default browser
- Enable/Disable Remote Access: Toggles firewall rules to allow or block remote access
- Exit: Closes the application
### Web User Interface
- Accessible through a web browser via http://localhost:3000 or http://workstation-name:3000
- Displays a hierarchical file tree structure for navigating Revit journal logs:
- Top level: User directories on the Windows system
- Second level: Installed Revit versions (e.g., "2023", "2024")
- Third level: Journal log files with information about each file
- When a journal log file is selected:
- Displays the content of the log file in a scrollable text area
- Provides a download button to save the log file locally
### Log File Access
- Automatically searches for Revit journal logs in the default locations within each user's profile directory:
- `C:\Users\{username}\AppData\Local\Autodesk\Revit\Autodesk Revit {version}\Journals`
- Supports multiple Revit versions (2022, 2023, 2024)
- Indicates when no journal logs are found for a specific Revit version
### Remote Access
- By default, the application is only accessible locally on the workstation where it's running
- The "Enable Remote Access" option in the system tray menu adds a Windows Firewall rule to allow incoming connections on port 3000
- The "Disable Remote Access" option removes this rule when you no longer need remote access
- When enabled, the application can be accessed from other computers on the network using the workstation's hostname or IP address
### User Experience
- Provides loading indicators when retrieving log files
- Responsive design for easy use on various screen sizes
- Displays file metadata including size and modification date
## Usage Instructions
### Starting the Application
1. Navigate to the application directory
2. Run `npm start` to start the application
3. The application will:
- Start a web server on port 3000
- Create a system tray icon in the taskbar
- Automatically open the web UI in your default browser
### Using the Web UI
1. In the file tree, click on a user directory to expand it
2. Click on a Revit version to see available journal log files
3. Click on a journal file to view its contents in the right panel
4. Use the "Download" button to save the currently displayed log file
### Accessing from Other Workstations
To access the web UI from another computer on the same network:
1. Ensure both computers are on the same network
2. Right-click the system tray icon and select "Enable Remote Access" to allow incoming connections
3. Find the hostname or IP address of the computer running Revit Journal Assist
4. Open a web browser and navigate to `http://{hostname-or-IP}:3000`
5. When remote access is no longer needed, select "Disable Remote Access" to restore security
## Build Instructions
### Prerequisites
- Windows 10 or newer
- PowerShell 5.1 or newer
- Node.js (v14 or newer) installed using Windows installer from nodejs.org
- Administrative privileges
### Building for Distribution
1. Open PowerShell as Administrator:
- Press Win+X and select "Windows PowerShell (Admin)" or "Windows Terminal (Admin)"
- Verify your execution policy allows running scripts:
```powershell
Get-ExecutionPolicy
```
- If needed, set it to RemoteSigned:
```powershell
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
```
2. Clone or download the repository:
```powershell
git clone https://github.com/your-repo/RevitJournalAssist.git
cd RevitJournalAssist
```
3. Install project dependencies:
```powershell
npm install
```
4. Install the pkg tool globally:
```powershell
npm install -g pkg
```
5. Create the Windows executable:
```powershell
pkg --targets node16-win-x64 .
```
The build output will be a Windows executable (revit-journal-assist.exe) in the dist folder.
## Installation Instructions
### Prerequisites
- Windows operating system
- Node.js and npm installed (if running from source)
- Administrative privileges (required for accessing user directories and managing firewall rules)
### Installation Steps
#### Running from Source
1. Download or clone the repository to your local machine
2. Open a command prompt or PowerShell window in the project directory
3. Install the required dependencies:
```powershell
npm install
```
4. Start the application:
```powershell
npm start
```
#### Running as a Packaged Application
1. Download the packaged executable
2. Run the executable file (revit-journal-assist.exe)
- The application will request administrative privileges
- If denied, it will attempt to restart with elevation
3. The application will start and add itself to the system tray
4. A web browser will automatically open with the web UI
### Making the Application Start Automatically
To have Revit Journal Assist start automatically when Windows boots:
1. Create a shortcut to the executable or start script
2. Right-click on the shortcut and select "Properties"
3. In the "Shortcut" tab, click "Advanced" and check "Run as administrator"
4. Press Win+R and type `shell:startup`
5. Place the shortcut in the Startup folder that opens
## Troubleshooting
- If the web UI doesn't load, check if port 3000 is already in use by another application
- If journal files aren't appearing, verify that the paths to the Revit journal directories are correct
- Check the console output for any error messages if you're running from source
- If you see access denied errors, make sure the application is running with administrative privileges
- If elevation prompts repeatedly appear, ensure you're accepting the UAC prompt
- If remote access isn't working:
- Verify that the "Enable Remote Access" option is selected in the system tray menu
- Check that Windows Firewall is allowing connections on port 3000
- Ensure both computers are on the same network
- Try accessing the application using the IP address instead of the hostname
---
## License
MIT License
## Support
For issues or feature requests, please open an issue on the project repository.