Skip to content

Tride0/OfficeOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

OfficeOS

Purpose: Just a project to learn about all that goes into an OperatingSystem and who knows maybe something cool will happen along the way.

Table Of Contents

To Do

  • Linux Kernel
  • Bootloader

Keywords

Item Purpose
System Settings
Task Process
Tool Software
Cabinet File System
Desktop Background Overlay

Tool Icons Shortcuts

Widgets Desktop Mini-Tools
Drawer Desktop Bar

Showing Open Tools

Inbox Desktop Pane

Showing Notifications

Roster Directory
Keys Passwords

Encryption Keys

Safe Private Files
Tray Quick Settings

UID Unique Identifier
PinBoard Shortcuts

Start Menu

BootManager & BootLoader

GRUB

Kernel

Linux

KernelNewbies

OperatingSystem

UID

  • All Files and Processes have a Unique ID
  • AlphaNumeric Case Sensitive (Base 62)
    • Characters: 0-9a-zA-Z
  • U-#-##-###-####-#####-######-#######-########
  • Underscores (_) will take the previous number and fill the rest of the slots with that number. There can only be 1 underscore (_).
    • Example: U-1-0_42 = U-1-00-000-0000-00000-000000-0000000-00000042
    • Example: U-1-12-3_42 = U-1-12-333-3333-33333-333333-3333333-33333342

UID Structure

UID Purpose
U-1 System
U-1-00-#> SubSystems
U-1-01-#> Tasks
U-1-02-#> System Settings
U-1-03-#> Directory Objects
U-1-04-#> Encryption Keys

Passwords

U-1-05-#> Files
U-1-99-#> User Generated UID

Non-Default Software

Predefined UIDs

UID Purpose
U-1-03-0_0 System
U-1-03-0_1 Administrator
U-1-03-0_2 Administrator Group
U-1-03-0_3 User Group
U-1-03-0_4 Remote Connection
U-1-03-0_5 Deny Logon Group
U-1-03-0_10 Self

Cabinet

  • File

    • File Data will be Organized in JSON Format
    • Owner: Implied Full Control
    • Folder: Content Property Contains List of File Names/UIDs
    • Trash: Folder with Content Containing File Names/UIDs of files have been deleted
  • Folder

    • Content Property: Contains list of all file and folders within this Folder
Properties
- Folder (Editable)
- Name (Editable)
- Content (Editable)
- Permissions (Editable)
- Type (Editable)
  - Folder, Text, Shortcut, Application
- Language (Editable)
- Encoding (Editable)
- MetaData
  - UID
  - Version
  - Description (Editable)
  - ContentLength
  - FileLength
    - Length of Content & MetaData
  - EncryptedKey ?
    - Key used to encrypt the file?
  - WhenCreated (System)
  - WhoCreated (System)
  - WhenChanged (System)
  - WhenContentChanged (System)
  - WhenOpened (System)
  - IsDeleted (Editable)
    - Used to determine if a file is deleted or not
  - WhenDeleted (System)
  - WhoDeleted (System)
  - IsLocked (System)
  - WhoLocked (System)
  - IsReadOnly (System)
  - IsEncrypted (System)
    - Used to tell if a file is encrypted
  - IsQuarantined
    - Used to Prevent all processes from reading/opening
  - IsCompressed
  - IsUpdated
    - Used to trigger other instances of this to update
  - History
    - Shows when who what
    - [DateTime] UID Action Attribute (PreviousValue)
      - [2023-10-06 17:58:38:357] U-1-0_1 Updated Content
      - [2023-10-06 17:58:38:357] U-1-0_1 Updated Name (OldFileName)
Permissions
- Explicit Deny, Implicit Allow/Deny
- Type: Allow, Deny
- _Override_
- Open
- OpenWith
- OpenAs
- Move
  - Set Folder Property
- Copy
  - Requires: ReadContent
  - Set to Deny to Prevent Copying
- Delete
  - Requires: WriteContent
  - Set to Deny to Prevent Deletion
- Lock
  - Requires WriteContent
- Read (Quick Permission)
  - ReadContent, ReadMetaData, ReadHistory, ReadPermission, ReadOwner
- Write (Quick Permission)
  - WriteMetaData, WriteContent, IsLocked, WhoLocked
- ReadContent
- WriteContent
- ReadMetaData
- WriteMetaData
  - Name, Description, Type, Encoding, Language
- ReadHistory
- ReadPermission
- WritePermission
- ReadOwner
- WriteOwner
- EncryptFile
- FullControl (Quick Permission)

Folder Structure

  • \ (Local Root)
    • \Tools
    • \System
      • \Information
        • OS Version, OS Type, Time, Languages
      • \Logs
      • \Tools
      • \File
      • \Folder
      • \Desktop
      • \Command
        • GetCommand
          • Name, Type
        • GetHelp
          • CommandName
        • NewFile
        • DeleteFile
        • GetFile
          • Read-Only
        • ListFile
          • Recurse, File, Folder
        • MoveFile
        • SetFile (Content)
          • Replace (Default), Append
        • SetFileMetaData
          • Property, Value
        • CopyFile
          • FilesOnly, FoldersOnly, Recurse, KeepMetaData, KeepPermission, KeepOwner, KeepEncryption
        • LogConsole (Start/Stop)
          • Path, Status
        • Filter
          • By Property, RegexR
        • Sort
          • What Sorting Method?
          • By Property
        • Unique
          • By Property
        • Ping
        • Network
        • NewDrive
        • GetDrive
        • SetDrive
        • DeleteDrive
        • GetVersion
        • NewUID
          • Type
        • NewKey
          • Algorithm, Assemetric/Symmetric
        • GetKey
        • DeleteKey
        • CompressFile
        • DecompressFile
        • EncryptFile
        • DecryptFile
        • ListTool
          • Name
        • InstallTool
        • DeleteTool
        • UpdateTool
      • \Troubleshoot
      • \Security
        • \Directory
        • \Update
        • \Network
        • \Anti-Malware
        • \Privacy
        • \Backups
        • \Safe
      • \Devices
        • \Bluetooth
        • \Displays
          • \Screensaver
          • \Background
        • \Sound
          • \Input
          • \Output
        • \Storage
        • \Hardware
      • \Users
        • \ContextMenus
      • \Policy
        • \System
        • \User
      • \Logs
      • \Cache
      • \Users
        • \Settings
        • \Desktop
        • \Documents
          • \Media
          • \Downloads
    • \Users
      • <UserID>
        • Desktop
        • Files
          • Media
          • Documents
          • Settings
          • Temp
  • \ (Remote Root)
    • \ComputerName(or IP)\

Terminal Tool

  • Scripting Pane
  • Command History Pane
  • AutoComplete
  • Personalization
    • Size, Colors

Desktop

  • Widgets

  • Desktop Shortcuts

  • Drawer

    • Weather

    • Clock

    • Opens Calendar

  • Active Tools

  • Tray

  • Sound

    • Output
    • Input
  • Connections

    • Wifi
    • Bluetooth
    • Location
    • HotSpot
    • Cast
  • Focus

  • Inbox

  • Focus

File Tool

  • Language Character Support
  • Encoding Support
  • Show Line, Row of Cursor
  • Search / Replace
    • Regex
  • Actions
    • Open
    • New
    • Save
    • Save As
    • Properties
      • MetaData
      • Auto Save
        • On Lose Focus
        • IdleTime
      • Auto Versioning
        • Compresses
    • Help
    • Feedback

Processes

Open

Open(Path, As, With, Parameters)

  • If As
    • Prompt Authentication
    • Validate Authentication
  • Check Permissions
  • If With: Send Path and Parameters to Tool
  • Else: Open
  • Update WhenOpened Property
  • Set IsReadOnly Property to True
Delete

Delete(Path, As)

  • If As
    • Prompt Authentication
    • Validate Authentication
  • Check Permissions
  • Update Folder Property to 'Deleted'
  • Update IsDeleted, WhenDeleted, WhoDeleted Properties
Move

Move(Path, DestinationPath, As)

  • If As
    • Prompt Authentication
    • Validate Authentication
  • Check Permission
  • Update Folder's Content Property to Exclude Path
  • Update Folder Property to DestinationPath
  • Update DestinationPath Folder Content Property to Include Path
  • Update History Property
  • Update WhenChanged Property
Copy

Copy(Path, DestinationPath, As, KeepMetaData)

  • If As
    • Prompt Authentication
    • Validate Authentication
  • Check Permission
  • Copy All but MetaData Section
    • If DestinationPath is same
    • Append Name
  • If KeepMetaData
    • Copy all MetaData
  • Set Folder as Destination
  • Update History Property
SaveContent

SaveContent(NewContent)

  • Check IsLocked Property
  • Check If Opened
  • Check Permission
  • Set IsLocked Property to True
  • Set WhoLocked Property to User.UID
  • Set IsReadOnly Property to False
  • Set Content Property
  • Update History Property
  • Update WhenContentChanged Property
  • Update WhenChanged Property
SaveMetaData

SaveMetaData(Property, Value)

  • Check Permission for Property
  • Set Property to Value
  • Update History Property
  • Update WhenChanged Property

Folder Tool

  • View: Table, Content
  • Sort
  • Search
    • Regex

Context Menus

  • File

    • Open
    • Move
    • Copy
    • Properties
    • Advanced
      • Open With
      • Open As
      • Open With As
      • Encrypt/Decrypt
      • Compress/Decompress
    • Delete
  • Folder

    • Open
    • New
      • File
      • Folder
      • Shortcut
    • Move
    • Copy
    • Paste
    • Properties
    • Advanced
      • Open With
      • Open As
      • Open With As
      • Encrypt/Decrypt
      • Compress/Decompress
    • Delete
  • Desktop

    • New
      • File
      • Folder
      • Shortcut
    • Paste
    • Next Background
    • Tools
      • Display
      • Personalize
  • Drawer

    • Tasks
  • Drawer (Opened Tool)

    • Minimize
    • Maximize
    • Open
    • Advanced
      • Open With
      • Open As
    • Dock/UnDuck
  • Drawer (Docked Un-Opened Tool)

    • Open
    • UnDock
    • Advanced
      • Open With
      • Open As

Roster Tool

  • Default Accounts

    • System
    • Administrator
    • User
  • Default Groups

    • User
    • Administrator
  • Default Access Groups

    • Remote Connection
    • Deny Logon

Safe Tool

  • Encrypted Files

Keys Tool

  • Passwords
  • Encryption Keys

Settings Tool

  • All settings are Dynamically built based on folder of setting file
  • Enabled/Disabled based on Permission to Specific Setting
  • All Settings have a Default Value
  • All Settings can be reverted to Default Value
  • All Settings can be reverted to Previous Value
Layout
  • User (SignInName)
    • Accounts
    • Passwords
  • Information
    • OS Type
    • OS Version
    • Time
    • Language
  • Personalize
    • Drawer
      • Color
      • DateTime Format
      • Silent Inbox
    • Task Outline Colors
      • Single Colors
    • Background
      • Slide Show, Static, etc.
      • Fit, Stretch, etc.
  • Security
    • Directory
      • System Name
      • Users
        • Properties: SignInName, UID, Password, Description, Disabled, Locked, AccountExpired, AccountExpiration, PasswordExpired, PasswordLastSet, EncryptProfile, Groups
        • Action: Reset Password, Change Password, Enable, Disable, Unlock, Set Account Expiration, EncryptProfile, Rename, Description, Add Groups, Remove Groups
        • Permissions: Per Property/Action
        • Default Account(s): Administrator
      • Groups
        • Properties: Name, Description, UID, Members, Groups
        • Actions: Rename, Description, Add Members, Remove Members, Add Groups, Remove Groups
        • Permissions: Per Property/Action
        • Default Group(s): Administrators, Users
      • Update
      • Anti-Malware
      • Firewall
      • Find My Device
        • Remote Wipe
      • Backups
        • Full
        • Incremental
        • Differential
        • Synthetic
        • File Versioning
      • Safe
        • Encryption Keys
        • Encrypted Items
        • Passwords
  • Privacy
    • Information Sharing
      • Logs, Errors
  • Troubleshoot
  • Devices
    • System
      • Sleep
      • Boot Manager
      • Time Server
    • Keyboards
      • Keyboard Shortcuts
    • Mice
    • Input
    • Output
    • Bluetooth
    • Network
      • Wifi, VPN, DNS, Hot spot, IP Configurations
    • Display
      • Extend, Duplicate, Rotate, Resolution, Zoom, Screensaver
    • Sound
      • Input
      • Output
    • Storage
      • Check Integrity
    • Hardware
      • Shows Hardware Information and Usage
  • Tasks
    • Shows All Open Tasks
      • File Path, UID, Who, Usage, Run Time
    • Open Files
      • Who, UID, Open Time, Locked
    • Automation
      • System Tasks: Sanitation, Security Scans, TimeKeeper
      • Triggers: Schedule, Log, ProcessStart, ProcessEnd, SignIn, SignOut, TurnOn, TurnOff
      • Conditions: Logged In
      • File Path
  • Tools
    • File Tool
    • Folders Tool
  • Context Menus
    • File Menu
    • Folder Menu
    • Desktop Menu
    • Drawer Menu
  • Clipboard
    • Multi-Paste Mode
    • Ring Mode
  • Accessibility
    • Easy Desktop Mode
    • Reader
    • Color Contrast
    • Pointer
    • Visual Effects
    • Text Size
    • Magnifier
  • Help
  • Feedback
  • Shortcuts
    • Ctrl Key : Shortcuts for Currently Focused Program
    • Shift Key : Nothing because it controls the keyboard. 2 Key combinations recommended for using this Key. Shift+Ctrl+Key = Text based actions. Bold, Underline, Italics, StrikeThrough, Center, etc.
    • Alt Key : Shortcuts
    • Menu Key : Menu + Num Key = 1st, 2nd, etc. & Menu+OtherKey
    • Home Key : Controls OS, Opens Frequent Software
      • Home + Tab = Switch Focus to next program
      • Home + Ctrl + Tab = Switch Workspace

Logs Tool

Code 0 - Emergency - System Unusable Code 1 - Alert - Urgent Fault Code 2 - Critical - urgent fault likely to occur Code 3 - Error - non-urgent fault Code 4 - Warning - Likely to lead to error Code 5 - Notice - Could lead to error Code 6 - Informational - Normal Reportable Event Code 7 - Debug - Verbose Status Conditions

Tool Store

Supports GIT Supports Other Linux Install Methods: apt, YUM, dnf, snap

Apps: apt, YUM, dnf, snap

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages