Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
Advertisement Create a free account Compendium in Game, Join Today

Now on Dev Server: Character Sheet Enhancements!

1611943595

Edited 1612470396
Juniper L.
Roll20 Team
Hi there! We are excited to announce that we have made substantial updates to our character sheet infrastructure and character sheet creation process. Your help testing these changes will be invaluable - this is an ambitious project and we’re so thrilled to have you along! Our new updates will be on the Development Server for at least two weeks before it goes live. Here is a not-quite-exhaustive list of the some of the awesome changes that we are implementing, which also address a few of your most-requested suggestions in the forums: A new, less restrictive HTML sanitization system, which now allows for: Accessibility enhancements: ARIA and semantic HTML support No pre-pending of “sheet-” to classes Unique identifiers (id=””) in HTML elements Allowing the usage of HTML datalists Allowing the usage of HTML details and summary tags The CSS sanitizer has been removed, which now allows for: Media queries that allow responsive design Sheet authors can now use the print media query to style their character sheet for printing from the popout window Support for CSS Animations Integrated macro bar for character quick attacks, including pop out windows Character Sheet/Stat Block is the default for opening a PC/NPC This is being reverted until we have more research regarding implementation. We hope that these changes will allow for a shallower learning curve and less barrier to entry for sheet development and new sheet authors. Additionally, these changes also help build the groundwork for improvements to sheetworkers, character vault, and sheet development tools. Do I have to change anything on my sheet? Nope! The new system will be the default going forward, but you will still be able to opt-in to the legacy system. All existing sheets, including games with custom sheets, will be automatically opted-in to the legacy system. At some point, we may remove the legacy sanitization, however an announcement will come well in advance to prepare you for legacy retirement. For sheets submitted to our sheet dropdown or used via our sheet sandbox system, the opt-in for legacy sanitization can be toggled through a boolean value (true/false) in the “legacy” field of your sheet.json. For custom sheets, there is a legacy sanitization checkbox you can toggle in your game settings page above the “Custom Sheet” section. Note Regarding Roll Templates Because chat is closely integrated into the VTT, roll templates will continue to use the legacy system, both for CSS and HTML.   What kinds of things should I be looking out for? This is a pretty fundamental change to how character sheets work, as almost all character sheet functionality has been touched to some degree or another. We've been testing this internally for a while, but with 800+ character sheets, we can't check them all ourselves. One of our main concerns is that existing sheets continue to work exactly as they did before, and we would love the community's help in verifying their sheets. Again, we’d like more testing done on existing sheets (using the legacy system). As you test, things to pay attention to on both systems are: Drag and drop functionality and performance Missing and/or incorrect HTML + CSS in your character sheet Sheetworkers functioning as expected Issues with your roll templates We’re also inviting sheet authors to start playing around with the new sanitization system in custom sheets. We’re excited to see what you can do, so let us know in the thread what awesome and cool things you can do with these changes! Lastly, do you have questions for us? Ask them here! We’re eager to listen and happy to help! Roll20 Team
1611944176
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Great news! Are there any sheets to play with on Dev that already utilize some of these new features?
1611945166
GiGs
Pro
Sheet Author
API Scripter
Holy moly. This is huge.
1611945438
Nicholas
Roll20 Team
keithcurtis said: Great news! Are there any sheets to play with on Dev that already utilize some of these new features? No, not quite yet. Work is underway to start converting some Roll20-maintained sheets, but we're not planning on releasing those until the system is live.
1611946363

Edited 1611946488
timmaugh
Pro
API Scripter
Fantastic! Quick question... there had been some mention, before, of nested-repeating lists. Are those a part of this new sheet architecture release, or no? And are those still coming? And if they are coming, will the be coming for only updated sheets or legacy, too? So it's really 3... 3 quick questions. It's really the Spanish Inquisition of questions... oh, you know what, let's just try it again...
1611946842
GiGs
Pro
Sheet Author
API Scripter
Nicholas said: keithcurtis said: Great news! Are there any sheets to play with on Dev that already utilize some of these new features? No, not quite yet. Work is underway to start converting some Roll20-maintained sheets, but we're not planning on releasing those until the system is live. Is there any documentation on how to use the new features, or what we need to do to build sheets using them?
1611949378
Kraynic
Pro
Sheet Author
GiGs said: Is there any documentation on how to use the new features, or what we need to do to build sheets using them? Yeah, without this, all that I will be doing is making sure my 3 sheets work on the dev server over the next couple weeks.
1611952232

Edited 1612046763
Nicholas
Roll20 Team
Hey Kraynic and GiGs - "Hey folks! Documentation is in-progress and will be available by the time this feature goes to live. Great questions!"
1611952853
Kenton
Roll20 Team
timmaugh said: Fantastic! Quick question... there had been some mention, before, of nested-repeating lists. Are those a part of this new sheet architecture release, or no? And are those still coming? And if they are coming, will the be coming for only updated sheets or legacy, too? So it's really 3... 3 quick questions. It's really the Spanish Inquisition of questions... oh, you know what, let's just try it again... So, this is my bad. In a roundtable at the end of 2020, in an answer to a question about nested repeating sections that the Character Sheet Infrastructure was undergoing significant work. I was speaking to general enhancements like the one announced here, but my answer seems to have implied that specific feature. Nested repeating sections are not part of this release, but are an enhancement that we would like to accomplish. There are no specific plans that I can share at this time on when that can be expected.
1611991116
∇ince
Pro
Sheet Author
Glad to see some of these mainstream features unlocked for sheet authors.  Thank you.
1611997537
Peter B.
Pro
Sheet Author
Oh.. my.. god... THIS IS AMAZING!!! I would never have hoped that the allowing of datalists would come this soon! I will be going to the dev server and starting my tests right away! Does this update also address this bug by any chance?&nbsp; <a href="https://app.roll20.net/forum/post/9643364/bug-ghost-rows-in-repeating-sections-when-a-dash-is-used-in-the-section-name" rel="nofollow">https://app.roll20.net/forum/post/9643364/bug-ghost-rows-in-repeating-sections-when-a-dash-is-used-in-the-section-name</a>
1611998870
Peter B.
Pro
Sheet Author
Juniper L. said: The CSS sanitizer has been removed, which now allows for: Media queries that allow responsive design Sheet authors can now use the print media query to style their character sheet for printing from the popout window Support for CSS Animations Hey does this include the addition of adding .charsheet to every CSS class in the .css file? A lot of my styling broke because the file is rather inconsistent with adding that class. If this is the case, please answer here, or update the post with this information explicitly, as it is a rather big chance! :)
1612030918
Scott C.
Forum Champion
Sheet Author
API Scripter
So, working with this now. It looks like the preview window for a custom sheet, which has never been a great tool anyways, does not reflect these changes. There also doesn't seem to be a way to have the sheet sandbox use the new method (or force it to use the legacy method). Both options are essential for the sheet sandbox as sheets that are designed using both legacy and the new sanitization are going to be developed using it.
Does the Charactermancer work properly?
1612053123
Kraynic
Pro
Sheet Author
Keeper of Secrets (KoS) said: Does the Charactermancer work properly? Log into the dev server and give it a shot.&nbsp; Most of us that are testing this thing are sheet authors, and therefore not playing something that has a charactermancer.
1612090631

Edited 1612090803
David
Pro
Sheet Author
With custom sheets on the development&nbsp; server when legacy sanitation is turned off the old Roll20 basic classes&nbsp; such as 3colrow&nbsp; still have "sheet-"&nbsp; prefixes
1612154103
timmaugh
Pro
API Scripter
With regard to the details and summary tags being allowed, will those be whitelisted in the chat, as well (as mentioned in the linked&nbsp; suggestion)? Thanks!
1612154248
Scott C.
Forum Champion
Sheet Author
API Scripter
timmaugh said: With regard to the details and summary tags being allowed, will those be whitelisted in the chat, as well (as mentioned in the linked&nbsp; suggestion)? Thanks! At the moment they aren't.
1612271823
Peter B.
Pro
Sheet Author
Juniper L. said: Do I have to change anything on my sheet? For sheets submitted to our sheet dropdown or used via our sheet sandbox system, the opt-in for legacy sanitization can be toggled through a boolean value (true/false) in the “legacy” field of your sheet.json. For custom sheets, there is a legacy sanitization checkbox you can toggle in your game settings page above the “Custom Sheet” section. Hello Roll20 devs. I have been testing this out on the dev servers and cannot seem to get the legacy flag to work for the sandbox. Creating a regular game, and using the checkbox in the Game Settings works as expected! I have tried the following in my sheet.json: { "legacy": true } But it does not seem to work. Is there something I am missing? Here is a screenshot:
1612301989
TK J.
Roll20 Team
Hi there, everybody! I've got a couple of updates and answers for you: Peter B - The new sanitization does not add .charsheet to any rules. In fact, we aren't touching the CSS file at all, so no worries there! Scott C - Thanks for pointing this out! We have not yet updated the preview window, however we have identified this as something we'll be improving in the future! Also, the new sandbow will be using the new sanitization by default. We are currently resolving the issues with implementing the legacy:true&nbsp;tags. David : Thank you for letting us know! This was an unknown issue and we'll be looking into that as soon as possible! timmaugh : While we don't currently have this option available, we can look at implementing it further down the road. Thanks for asking! Peter B (again!) : Good eye! Our resolution for this issue is in QA as we speak. Regarding Documentation: We're currently drafting documentation to make this new standard as accessible as possible for all of you! It will be available by the time we go live, once we've ironed out any creases in the feature using the Dev Server. Thank you so much for all of the questions! Please keep them coming! -TK
1612323756
MadCoder
Pro
Sheet Author
Hello, I started testing the GURPS sheet on the dev server. No issues yet. Does the Custom Sandbox on the Dev server also use the new infrastructure?
1612376227
Peter B.
Pro
Sheet Author
David said: With custom sheets on the development&nbsp; server when legacy sanitation is turned off the old Roll20 basic classes&nbsp; such as 3colrow&nbsp; still have "sheet-"&nbsp; prefixes TK J. said: Hi there, everybody! I've got a couple of updates and answers for you: David : Thank you for letting us know! This was an unknown issue and we'll be looking into that as soon as possible! My suggestion for this issue is to just add both in the base CSS file. 3colrow, sheet-3colrow { // css styling stuff } That way the css will work no matter if the auther has explicitly stated "sheet-3colrow" or implicitely stated "3colrow" in the HTML file. If you go with just the one, then it will just take som Search-Replace to fix all the broken css references :)
1612429590

Edited 1612429686
Gold
Forum Champion
Hello and thank you for listening. My question, TJ and Juniper, will there be an option for which Character tab displays first, or will this change force all PC's and NPC's to the Stats/Sheet tab without a settings option? Be sure to make it an Option / Toggle for the GM to decide which Tab of a Character shows first. It should not be changed to Character Sheet (stat block) as the default. That would be bad for majority of non-combat NPC's. It would also be bad for PC's because the statblock sheet tab does not have the character's Portrait, which is their essential first-impression to show on the BIO tab. Please keep Bio tab selected initially, or, give the GM the choice to set which tab displays initially.
This might have been brought up before, but this product really, as in REALLY, needs default characterbuilds from level 1 to 10 to choose from (for the inexperienced or lazy gamer). And this also needs to apply to all systems used (also the old ones, like Pathfinder 1e).
1612442726
GiGs
Pro
Sheet Author
API Scripter
Lord of War said: This might have been brought up before, but this product really, as in REALLY, needs default characterbuilds from level 1 to 10 to choose from (for the inexperienced or lazy gamer). And this also needs to apply to all systems used (also the old ones, like Pathfinder 1e). That's just never going to be happen, and isnt the place of roll20 to do anyway. Count up how many sheets there on roll20, count up how many of them were made by volunteers who dont get paid for it and are making sheets in their spare time, and for additional fun, count up how many of the systems on roll20 dont even use level systems.
1612458952
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
You couldn't even do that as a Marketplace product without either negotiating a license with WotC (for example), or just adhering to the SRD.
1612468791
Marco M.
KS Backer
Sheet Author
API Scripter
I'm so pumped for the datalist... I can finally do this. Question: can a creator already submit a sheet using those (if it works in the Dev Server)?
1612469273
Andreas J.
Forum Champion
Sheet Author
Translator
Marco M. said: I'm so pumped for the datalist... I can finally do this. Question: can a creator already submit a sheet using those (if it works in the Dev Server)? Well, you could submit it as a draft, and switch it to a full PR once this goes live. that way us others can see what you've done :D
1612469515
TK J.
Roll20 Team
Hi, everyone! I'm back with some new updates and answers: MadCorder - &nbsp;Yep! The Custom Sandbox does use the new infrastructure! Gold - &nbsp;Character sheet became the default tab by user request, however, we have considered this and other feedback and will be reverting to the original default of the bio until we have done a little more research on implementation. -TK
1612470257
TK J.
Roll20 Team
Sorry, Marco, I didn't see this question before I posted! I'll go ahead and pass it along and get an answer to you ASAP! -TK Marco M. said: I'm so pumped for the datalist... I can finally do this. Question: can a creator already submit a sheet using those (if it works in the Dev Server)?
1612471198
Marco M.
KS Backer
Sheet Author
API Scripter
No problem it needs playtest to be sure it's fully compatible with the old version :) Some of the feature I've added don't require the datalist and I saw that if I define an input as &lt;input name="attr_weaponskill" list="combatlist" type="text" /&gt; It works perfectly as a text input (so using exactly the same features it's using right now on the normal server), but double down as a fully functional datalist on the dev one. For anyone else trying this: I noticed that on chrome (haven't tried firefox yet), the datalist is printed out in the normal server, but not in the dev one. A simple workaround is is putting the list inside an invisible div &lt;div style="display:none;"&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;datalist id="test"&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option value="1"&gt; one &lt;/option&gt; &lt;option value="2"&gt; two &lt;/option&gt; &lt;option value="3"&gt; three &lt;/option&gt; &lt;/datalist&gt; &lt;/div&gt; Notice that since datalist is not currently fully supported in the native server you cannot really style it so you would need to use this trick :)
1612535667
Andreas J.
Forum Champion
Sheet Author
Translator
I created a Community Wiki page for this update, were people can show what they have done so far. The page is visible on all the other Sheet Dev pages on the wiki. <a href="https://wiki.roll20.net/Character_Sheet_Enhancement" rel="nofollow">https://wiki.roll20.net/Character_Sheet_Enhancement</a> Only added two examples as haven't had the time to look into this update yet.
1612651497
Scott C.
Forum Champion
Sheet Author
API Scripter
Hmm, was just rereading through the list of changes. What does this mean: Integrated macro bar for character quick attacks, including pop out windows
1612651914
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
In my testing, it looks like when the window is popped out the macro bar drag feature is available at the bottom of the popped out window. I.e. it's not exactly a new feature, but where you can use it is new.
1612652170
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Serious loss of functionality. Upon further testing, the range of actions that can be dragged to the quickbar is drastically reduced. No repeating actions can be dragged. On the prod server, I can drag a weapon attack or proficiency roll to the macro quickbar. On the dev server, these items are not draggable at all.
1612670748
Marco M.
KS Backer
Sheet Author
API Scripter
Question about the implementation of ids. Does it mean that we can now hide and show parts of the sheet by using the sheet worker instead of the usual CSS wizardry trick?
1612673632
Kraynic
Pro
Sheet Author
keithcurtis said: Serious loss of functionality. Upon further testing, the range of actions that can be dragged to the quickbar is drastically reduced. No repeating actions can be dragged. On the prod server, I can drag a weapon attack or proficiency roll to the macro quickbar. On the dev server, these items are not draggable at all. Same here.&nbsp;
1612676738
∇ince
Pro
Sheet Author
Marco M. said: Question about the implementation of ids. Does it mean that we can now hide and show parts of the sheet by using the sheet worker instead of the usual CSS wizardry trick? THIS and will we be able to create linkable anchors to jump around our sheets? From the suggestion forums;&nbsp; Ability to add anchors to characters and handouts and link to them
1612781133
Peter B.
Pro
Sheet Author
Marco M. said: Question about the implementation of ids. Does it mean that we can now hide and show parts of the sheet by using the sheet worker instead of the usual CSS wizardry trick? I haven't tested this, but I doubt it. We still cannot set css attributes and so on using sheet workers, but you could do a workaround still using CSS wizardry. Have a hidden checkbox that controls visibility, and use a sheetworker to set the value of that checkbox. Then you can use a sheetworker to control visibility
1612826341
Marco M.
KS Backer
Sheet Author
API Scripter
yeah I use that trick already... a looooot :D I was just curious if the straightforward way would work, that would be awesome
1612985563
Peter B.
Pro
Sheet Author
Juniper L. said: A new, less restrictive HTML sanitization system, which now allows for: No pre-pending of “sheet-” to classes It appears that this is not true for roll templates. I do not know if this is intended as the output from roll templates appear in the chat. I tested with the following code character sheet html: &lt;div class="charsheet"&gt; &lt;button type="roll" value="&amp;{template:2Espell}{{title=Hello world}}"&gt;Roll Template&lt;/button&gt; &lt;/div&gt; &lt;rolltemplate class="rolltemplate-2Espell"&gt; &lt;div class="template-container"&gt; &lt;div class="spell-head"&gt; &lt;table&gt; &lt;tr&gt; &lt;th class="template-title1"&gt;{{title}}&lt;/th&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;/div&gt; &lt;/rolltemplate&gt; Notice that non of the classes has any "sheet-" prefix added manually. This is the output from the Chrome Dev tools after running the template: Notice that "sheet-" has been added as a prefix to all classes.&nbsp; Please comment on this behavior. Is this expected and an exception from the rule, specific for roll templates, or is this an unresolved issue with the sanitizer?
1613068888
Andreas J.
Forum Champion
Sheet Author
Translator
The roll templates have other quirks as well, so not surprised if that part isn't completely sorted out.
1613141560
Scott C.
Forum Champion
Sheet Author
API Scripter
Peter, See the note in the original post: Note Regarding Roll Templates Because chat is closely integrated into the VTT, roll templates will continue to use the legacy system, both for CSS and HTML.&nbsp;&nbsp;
1613161565
Peter B.
Pro
Sheet Author
Scott C. said: Peter, See the note in the original post: Note Regarding Roll Templates Because chat is closely integrated into the VTT, roll templates will continue to use the legacy system, both for CSS and HTML.&nbsp;&nbsp; Wow, you Are right. I completly missed that!&nbsp;
1613492147

Edited 1613492167
Peter B.
Pro
Sheet Author
Juniper L. said: Our new updates will be on the Development Server for at least two weeks before it goes live. It has been two weeks now. Are there any ETA on when this will go live?&nbsp; I am well aware of all the bugs and findings that people have made. I am just curious :)&nbsp;
1613492884
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Please do not let this go live with the existing bugs. The loss of drag and drop buttons is big.
1613495438

Edited 1613495585
David
Pro
Sheet Author
keithcurtis said: Please do not let this go live with the existing bugs. The loss of drag and drop buttons is big. I think it's already on the production based on this&nbsp; <a href="https://app.roll20.net/forum/post/9769654/release-note-for-february-3-2021" rel="nofollow">https://app.roll20.net/forum/post/9769654/release-note-for-february-3-2021</a> &nbsp;and all of the custom sheets already have legacy switches added so unless someone releases a sheet with the legacy sheet switch there shouldn't be an issue.
1613496383
Andreas J.
Forum Champion
Sheet Author
Translator
David said: I think it's already on the production based on this&nbsp; <a href="https://app.roll20.net/forum/post/9769654/release-note-for-february-3-2021" rel="nofollow">https://app.roll20.net/forum/post/9769654/release-note-for-february-3-2021</a> &nbsp;and all of the custom sheets already have legacy switches added so unless someone releases a sheet with the legacy sheet switch there shouldn't be an issue. The Release notes explicitly says the updates are on the Dev Server, nothing about it having been rolled out to production(production should refer to the full, live Roll20 platform). But yeah I did notice the legacy switches have been added to all sheets in the Community Sheet repo.