Teknik v2 now in Beta

Today marks the feature parity of Teknik v2 to v1. Now begins the testing and subsequent bug fixes.

So where can you find this beauty you may ask? The current iteration is being run at https://dev.teknik.io/

Please look around, try things out, and report any issues you find or critiques on features. You can either contact me using the new Contact Form or by submitting an issue on the git repository issue tracker (Preferred Method).

Please read below for all the new things, changes, and removed items in v2.

New Features

Backend

  • Implemented server side code in ASP.NET instead of the legacy PHP
  • Changed database from MySQL to MS SQL
  • Added new group-role based permissions
  • Better bundling of needed scripts/styles for each page

Main Layout

  • Displays the version number and commit hash in the footer
  • Displays the generation time (Time from request recieved to HTML generated) and the load time (Time from response sent to response loaded in browser)

Uploads

  • Client Side Encryption
    • This is by default, and is described in more detail here
  • User Savable Settings
    • You can now save upload settings using your profile and they will be used when you are logged in
  • Tracks the number of times an upload has been downloaded

Pastes

  • Ability to hide paste from the 'Most Recent' list ('Most Recent' list still in development)
  • When a password is set, the paste is encrypted server side
  • Can now auto-detect the language being used
  • New paste expiration mode 'Views' allows the paste to be deleted after a certain number of views
  • New views were added for a paste with direct URLs available
    • View just the code with syntax highlighting (Simple)
    • View just the raw code (Raw)
  • Auto-selects text box when loading the page
  • Tracks the number of times a paste has been viewed

Podcasts

  • Added ability to publish/unpublish podcasts

API

  • The API is now versioned (ie: /v1/)
    • This will ensure that if a breaking change is made to the API, the API version would be incremented, and existing users could still use the previous versions without change

Contact

  • Added sending of email to support when a message is created

User Profile

  • Displays the files uploaded and pastes created for your user (Only visible to you)

Changes

Uploads

  • File Uploading UI now includes individual progress bars for each upload
  • When using client side encryption, there is now a download page for when decrypting client side
  • Changed encryption method from AES-CBC to AES-CTR
  • Changed default file size limit to 500 MB

Pastes

  • New syntax highlighter with some more languages available
  • Larger text box for submissions

Blogs

  • Moved markdown parsing to server side

Podcasts

  • Modified file naming to include episode number
  • Created unique episode number separate from title

API

  • Upload API now includes more options to handle both encryption server side and sending pre-encrypted data

Help

  • Each service is now separated into it's own page
  • The api is separated by version, and service

Contact

  • Now auto-populates your username and teknik email instead of hiding the fields

User Profile/Settings

  • Moved settings to it's own page
  • Moved 'Delete Account' button down to the bottom of settings

Removed Features

Uploads

  • Removed thumbnails for a file when uploading

Pastes

  • Removed line numbers from output (Probably not returning)
  • Removed expiration date from title bar when viewing a paste

Blogs

  • Removed markdown editor from post create/edit (Should be coming back in the future)
  • Removed 'Replies' from the post info on main blog page (May come back)

Podcasts

  • Removed markdown editor from podcast create/edit (Should be coming back in the future)
  • Removed custom UI for media control (Should be coming back once a good solution is found)

Contact

  • Removed message type (They are all just support messages)

About

  • Removed history and staff tab (Might come back?)

Ricehalla

  • Removed it all

Server Stats

  • Removed it all (Might re-implement later)

Piwik Analytics

  • Removed it all

Still in Progress

User Accounts

  • Unique Key generation at registration to allow password resets

Admin Page

  • User modification
  • Group-Role management

Help

  • Update service documentation

Also there were many bug fixes and optimizations made.