|
1 |
| -# This is the **HOMEPAGE**. |
2 |
| -Refer to [Markdown](http://daringfireball.net/projects/markdown/) for how to write markdown files. |
| 1 | +# AccuLadder v1.0.9+ |
| 2 | +This is the basic reference for Accuraty's common library of tools, utilities, and doohickies for DNN+2sxc projects. |
| 3 | +This replaces AccuKit so far and will also replace RazorKit, AccuKit11, and other libraries that are used in |
| 4 | +Accuraty's DNN+2sxc projects (usually in the /App_Code folder). |
| 5 | + |
3 | 6 | ## Quick Start Notes:
|
4 |
| -1. Add images to the *images* folder if the file is referencing an image. |
| 7 | + |
| 8 | +### Installation |
| 9 | +Install the latest release from the project's [GitHub Release](https://github.com/jeremy-farrance/AccuratySolutions-2023/releases) page in the usual DNN way. |
| 10 | +> [!CAUTION] |
| 11 | +> This applies to Accuraty projects only. Intallation on projects with old libraries in the /App_Code folder require some additional steps; |
| 12 | +this was expected, see JRF. More on this <mark>below</mark>. |
| 13 | +
|
| 14 | +### Upgrade |
| 15 | +Install a newer version, its a normal DNN extension install, it will just upgrade the existing version. |
| 16 | + |
| 17 | +## Alpha and Experimental |
| 18 | +This project is in alpha and experimental. Any release marked `Latest` is good for production use. It is not recommended for use in any project that is not under active development by a developer who is familiar with the code and is able to fix any issues that may arise. |
| 19 | + |
| 20 | +## How to Use |
| 21 | +Once AccuLadder is installed, you can use it in your C# code like this |
| 22 | + |
| 23 | +### .cs files |
| 24 | +```csharp |
| 25 | +using Accuraty.Libraries.AccuLadder; |
| 26 | + |
| 27 | +string phoneNumber = Accu.Text.FormatPhone("914.555.1212"); |
| 28 | +// result: (914) 555-1212 |
| 29 | +``` |
| 30 | + |
| 31 | +### .cshtml files (2sxc Views or RazorHost) |
| 32 | +```csharp |
| 33 | +@using Accuraty.Libraries.AccuLadder |
| 34 | + |
| 35 | +@{ |
| 36 | + string urlSlug = Accu.Web.ToSlug("** Special ** Board Meeting -- Nov 2022); |
| 37 | + // result: special-board-meeting-nov-2022 |
| 38 | +} |
| 39 | +``` |
| 40 | + |
| 41 | +### .ascx files (Theme files and user controls) |
| 42 | +```csharp |
| 43 | +<%@ Import Namespace="Accuraty.Libraries.AccuLadder" %> |
| 44 | + |
| 45 | + <p class="small mt-2 mb-0" |
| 46 | + title="Current User is Super: <%=Accu.Dnn.IsSuper() %>" |
| 47 | + > |
| 48 | +``` |
| 49 | + |
| 50 | +<hr> |
| 51 | + |
| 52 | +## AccuKit Notes |
| 53 | +<mark>AccuKit (in the /App_Code folder) is no longer needed.</mark> |
| 54 | +AccuLadder replaces it. To make the transition easy, compatability was added to AccuLadder to support |
| 55 | +the old namespace (AccuKit.) and classes. This means that you can and should install AccuLadder, but |
| 56 | +you need to: |
| 57 | +1. Delete `/App_Code/AccuKit.cshtml` |
| 58 | +2. Search through the project and find all occurrence of `AccuKit.` |
| 59 | +3. At the top each page where it was used, add a `using` statement for `Accuraty.Libraries.AccuLadder` (see examples above) |
| 60 | +4. No other changes should be necessary, see JRF is issues arise |
| 61 | + |
| 62 | +### What about RazorKit, AccuKit11, and others? |
| 63 | +No conflict so far, but in the future, when "replacement compatibility" is added to AccuLadder, the same process |
| 64 | +(as AccuKit above) will apply. |
| 65 | + |
| 66 | +## Roadmap Possibilites and Ideas |
| 67 | +- [ ] How did we lose .IsUrlSpecial() and what is the new method name? |
| 68 | +- [ ] Add more documentation |
| 69 | +- [ ] Add replacement compatibility for RazorKit, AccuKit11, and others |
| 70 | +- [ ] How do we handle /App_Code/AccuTheme.cshtml in the AccuTheme* projects? |
| 71 | +- [ ] Add AccuComponents.Buttons (or move forward on Stencil web components version of AccuComponents)? |
| 72 | +- [ ] .Dev.Log(); add non-ephemeral logging to [files, database, other]? (or use 2sxc logging? or something else (Serilog?))? |
| 73 | +- [ ] .Dnn.[roles]; helpers that work the way Accuraty does |
| 74 | + - [ ] see IsSM() in BEACN2023; one-offs that define a permission grouping |
| 75 | + - [ ] new .IsInRoles() that work for lists of RoleId or RoleNames |
| 76 | + - [ ] above need to support both && and || logic (all or any) |
| 77 | + - [ ] .GetRoleNameById() and .GetRoleIdByName() |
| 78 | +- [ ] modernize the project as compositional interfaces, IAccuWeb, IAccuText, etc.? |
| 79 | +- [ ] setup so using AccuLadder can be done via Dependency Injection |
| 80 | +- [ ] setup so using AccuLadder can be done using NuGet |
| 81 | +- [ ] Can we implement a terser syntax w/o adding (maintenance) complexity? |
| 82 | +- [ ] Are we really a billion years away from plant/animal semiosis? |
| 83 | + |
| 84 | +## Links to self-docs in the project |
| 85 | +- [README.md](https://github.com/jeremy-farrance/AccuratySolutions-2023/blob/main/Libraries/AccuLadder/README.md) |
| 86 | +- [Release Notes](https://github.com/jeremy-farrance/AccuratySolutions-2023/blob/main/Libraries/AccuLadder/releasenotes.txt) |
| 87 | +- more? |
| 88 | + |
| 89 | +## Accuraty Solutions |
| 90 | +- [Accuraty](https://accuraty.com) |
| 91 | +- [ACCU4](https://accu4.com) - Accuraty's DNN+2sxc reminders, learnings, and related stuff |
| 92 | +- [GitHub/Accuraty](https://github.com/Accuraty) |
0 commit comments