utelle / SQLite3MultipleCiphers-NuGet

NuGet packages for SQLite3 Multiple Ciphers
MIT License
7 stars 2 forks source link

Update the README #2

Closed bricelam closed 1 year ago

bricelam commented 1 year ago

Should include things like...

We should also consider adding a README to the main bundle package.

utelle commented 1 year ago

Should include things like...

  • What it is

I can write the part about the underlying encryption extension, but not the .NET part.

  • How to install it

Well, this part should be written by you, @bricelam, or @jammerxd.

I thought that the idea of NuGet packages is to make installing simple.

BTW, how and where will the packages be published?

  • How to use it

    • In ADO.NET/Dapper
    • In EF Core
    • In sqlite-net

Again, this should also be written by you, @bricelam, or @jammerxd.

  • With a SQLCipher database (especially ones created using bundle_e_sqlcipher)

Now, that should be really simple. _bundle_esqlcipher uses a recent SQLCipher library version, that is, SQLCipher 4 format:

In principle, SQLCipher allows to configure the encryption scheme via PRAGMA commands (see SQLCipher documentation, but AFAIK this feature isn't used very often. However, if it is used, then the respective parameters have to be specified in the URI as well. How this is done can be seen in the test code for accessing a SQLCipher 2 database file.

  • Where to learn more about SQLite3 Multiple Ciphers

I will write that part.

We should also consider adding a README to the main bundle package.

Yes, absolutely. What should be the content of that README? Is it just a short description of the package with pointers to further information? Or is it more or less a duplicate of the repo README? Are there formal requirements for the NuGet package(s)?

bricelam commented 1 year ago

I’m happy to write most or all of this. Just filed it so I didn’t forget about it 😉

jammerxd commented 1 year ago

I thought that the idea of NuGet packages is to make installing simple.

Nuget is a package manager that is integrated into the .NET realm of development, It is comparable to npm or yarn but for .NET projects. Installing a preferred flavor of sqlite is not the same as using Microsoft's published sqlite package - as the Micrsoft sqlite package handles the resolution of these raw bundles we are generating. There are instructions in Microsoft's documentation that explain which nuget packages to install if you're going to use a custom flavor of sqlite (like sqlitemc)

utelle commented 1 year ago

I thought that the idea of NuGet packages is to make installing simple.

Nuget is a package manager that is integrated into the .NET realm of development, It is comparable to npm or yarn but for .NET projects. Installing a preferred flavor of sqlite is not the same as using Microsoft's published sqlite package - as the Micrsoft sqlite package handles the resolution of these raw bundles we are generating. There are instructions in Microsoft's documentation that explain which nuget packages to install if you're going to use a custom flavor of sqlite (like sqlitemc)

Admittedly, .NET is a closed book for me. Could you give a pointer to the relevant documentation and explain the consequences for our packages? TIA.

jammerxd commented 1 year ago

Admittedly, .NET is a closed book for me. Could you give a pointer to the relevant documentation and explain the consequences for our packages? TIA.

Here's a link to the page I'm referring to: https://learn.microsoft.com/en-us/dotnet/standard/data/sqlite/custom-versions?tabs=netcore-cli

Sqlite3MC would fall under custom versions.

bricelam commented 1 year ago

I think we got all that covered in the README for all the major .NET libraries (Microsoft.Data.Sqlite, SQLite-net, and EF Core)