Code Monkey home page Code Monkey logo

Comments (10)

feather812002 avatar feather812002 commented on June 1, 2024

@JoelProminic I plan starting this task
But I found some trouble about this task .

I get a example dxl about the share column example column

The trouble is the almost field is encode by base64 , and it not just only base64 encode, it must have other some convert string inside .
when I try to decode with online base64 decoder , it get some gibberish.

so , I hope can get a normal example about the share column dxl file,
I check my tool and test database, I found I difficult add or found a share column in the test database.
So, if it is possible, when you have free time ,please help me export a normal format dxl about the share column.

Thanks.

from moonshine-ide.

JoelProminic avatar JoelProminic commented on June 1, 2024

I see the example shared column is in Note format. We are using the normal format for views, so we should try to use the normal format for shared columns if possible.

I created a test database here (access restricted by firewalls):
blazeds.testprominic.com/PNITEST
A55D78\MoonshineTests\TestSharedColumns.nsf
2023_08_14__TestSharedColumns.nsf.zip

And exported the project with nsf-to-odp-exporter:
2023_08_14__TestSharedColumns_ODP.zip

Simple example: SharedElements/Columns/LastModified.column:

<?xml version="1.0" encoding="utf-8"?>
<sharedcolumn xmlns="http://www.lotus.com/dxl" name="LastModified" version="11.0" replicaid="86258A0B005043E4" noreplace="true" designerversion="8.5.3">
  <column hidedetailrows="false" itemname="$0" width="10" resizable="true" separatemultiplevalues="false" sortnoaccent="true" sortnocase="true" showaslinks="false">
    <columnheader title="LastModified">
      <font size="9pt" style="bold"/>
    </columnheader>
    <datetimeformat show="datetime" date="yearmonthday" fourdigityearfor21stcentury="true" time="hourminutesecond" zone="never" dateformat="weekdaymonthdayyear" dayformat="twodigitday" monthformat="twodigitmonth" yearformat="fourdigityear" weekdayformat="shortname" dateseparator1=" " dateseparator2="/" dateseparator3="/" timeseparator=":" preference="usersetting"/>
    <numberformat format="general" punctuated="false" parens="false" percent="false" bytes="false"/>
    <code event="value">
      <formula>REM {Test Comment};
@Modified</formula>
    </code>
  </column>
</sharedcolumn>

Example using / in the name: tmp_odp/SharedElements/Columns/TestForm_5cTestNumber.column

<?xml version="1.0" encoding="utf-8"?>
<sharedcolumn xmlns="http://www.lotus.com/dxl" name="TestForm\TestNumber" version="11.0" replicaid="86258A0B005043E4" noreplace="true" designerversion="8.5.3">
  <column hidedetailrows="false" itemname="TestNumber" width="10" resizable="true" separatemultiplevalues="false" sortnoaccent="true" sortnocase="true" showaslinks="false">
    <columnheader title="TestNumber">
      <font size="9pt" style="bold"/>
    </columnheader>
    <numberformat format="fixed" digits="2" punctuated="false" parens="false" percent="false" bytes="false" decimalsym="." thousandssep="," currencysymtype="custom" currencysym="$" usecustomsym="false"/>
  </column>
</sharedcolumn>

Example using both shared columns in a form: tmp_odp/Views/TestView.view

<?xml version='1.0' encoding='utf-8'?>
<?xml version="1.0"?>
<view xmlns="http://www.lotus.com/dxl" name="TestView" version="11.0" replicaid="86258A0B005043E4" showinmenu="false" publicaccess="false" designerversion="8.5.3" default="true" unreadmarks="none" onopengoto="lastopened" onrefresh="displayindicator" headers="beveled" opencollapsed="false" showresponsehierarchy="true" showmargin="true" shrinkrows="false" extendlastcolumn="false" showhierarchies="false" unreadcolor="black" rowlinecount="1" headerlinecount="1" rowspacing="1" bgcolor="white" totalscolor="black" headerbgcolor="white" boldunreadrows="false" evaluateactions="false" allownewdocuments="false" allowcustomizations="false" hidemarginborder="false" marginwidth="0px" marginbgcolor="white" uniquekeys="false">
  <code event="selection">
    <formula>SELECT "TestForm" = Form</formula>
  </code>
  <column sort="ascending" hidedetailrows="false" itemname="TestID" width="10" resizable="true" separatemultiplevalues="true" sortnoaccent="true" sortnocase="true" showaslinks="false">
    <columnheader title="TestID">
      <font size="9pt" style="bold"/>
    </columnheader>
  </column>
  <sharedcolumnref name="TestForm\TestNumber">
    <column hidedetailrows="false" itemname="TestNumber" width="10" resizable="true" separatemultiplevalues="false" sortnoaccent="true" sortnocase="true" showaslinks="false">
      <columnheader title="TestNumber">
        <font size="9pt" style="bold"/>
      </columnheader>
      <numberformat format="fixed" digits="2" punctuated="false" parens="false" percent="false" bytes="false" decimalsym="." thousandssep="," currencysymtype="custom" currencysym="$" usecustomsym="false"/>
    </column>
  </sharedcolumnref>
  <sharedcolumnref name="LastModified">
    <column hidedetailrows="false" itemname="$1" width="10" resizable="true" separatemultiplevalues="false" sortnoaccent="true" sortnocase="true" showaslinks="false">
      <columnheader title="LastModified">
        <font size="9pt" style="bold"/>
      </columnheader>
      <datetimeformat show="datetime" date="yearmonthday" fourdigityearfor21stcentury="true" time="hourminutesecond" zone="never" dateformat="weekdaymonthdayyear" dayformat="twodigitday" monthformat="twodigitmonth" yearformat="fourdigityear" weekdayformat="shortname" dateseparator1=" " dateseparator2="/" dateseparator3="/" timeseparator=":" preference="usersetting"/>
      <numberformat format="general" punctuated="false" parens="false" percent="false" bytes="false"/>
      <code event="value">
        <formula>REM {Test Comment};
@Modified</formula>
      </code>
    </column>
  </sharedcolumnref>
</view>

from moonshine-ide.

JoelProminic avatar JoelProminic commented on June 1, 2024

I see you are using "Share Column" for the menu, prompt, and sidebar. This should be "Shared Column" instead.

from moonshine-ide.

JoelProminic avatar JoelProminic commented on June 1, 2024

I see the Shared Columns are currently defaulting with "Last Modified" for the Column Header Text and a DateTime formula (and formatting).

Checking Designer, I see the defaults are:
image

I would like to:

  • Set the Column Header Text to match the file name, by default. The header text can be updated later, and I don't expect to update the header text when renaming or duplicating a shared column.
  • If the Shared Column name contains a \, instead use the text after the last \ for the Column Header Text in new shared columns.
  • Use the default formatting settings . The user shouldn't need to undo formatting settings (like bold text or date formatting) when creating a new shared column.
  • Use @DocNumber for the default formula. We could could consider using something that would give the user more guidance (see an example below), but I think it is better to use a simple formula for now.:
REM {Your comments here};
"Your formula here"

from moonshine-ide.

feather812002 avatar feather812002 commented on June 1, 2024

I fixe some small issue in today on this task.

  • Fix the "9pt" to "9" from template.
  • Fixed the column name match the file name , and the column header name match the share column name .
  • If the shared column name contain the / , behind the last / will setting as the header title.
  • The default format will remove, and it will be General
  • The default formula is "@DocNumber"

from moonshine-ide.

JoelProminic avatar JoelProminic commented on June 1, 2024

Today's updates look good.

Some notes for the View updates related to shared columns:

Add an "Append Shared Action" context menu item to the view editor, similar to "Add Column". The column can be reordered to the correct position for now.

The shared column should not be editable within the View editor. Either hide or disable all the properties for shared columns. There should at least be an "Edit Shared Column" option in the context menu (shared columns only). We could also support double-clicking to edit, or an Edit button in the sidebar.

I have an example of the View DXL here. It looks like the shared column DXL needs to be included in the view, so all views which use a shared column will need to be updated when the shared column is edited.

  <column sort="ascending" hidedetailrows="false" itemname="TestID" width="10" resizable="true" separatemultiplevalues="true" sortnoaccent="true" sortnocase="true" showaslinks="false">
    <columnheader title="TestID">
      <font size="9pt" style="bold"/>
    </columnheader>
  </column>
  <sharedcolumnref name="TestForm\TestNumber">
    <column hidedetailrows="false" itemname="TestNumber" width="10" resizable="true" separatemultiplevalues="false" sortnoaccent="true" sortnocase="true" showaslinks="false">
      <columnheader title="TestNumber">
        <font size="9pt" style="bold"/>
      </columnheader>
      <numberformat format="fixed" digits="2" punctuated="false" parens="false" percent="false" bytes="false" decimalsym="." thousandssep="," currencysymtype="custom" currencysym="$" usecustomsym="false"/>
    </column>
  </sharedcolumnref>
  <sharedcolumnref name="LastModified">
    <column hidedetailrows="false" itemname="$1" width="10" resizable="true" separatemultiplevalues="false" sortnoaccent="true" sortnocase="true" showaslinks="false">
      <columnheader title="LastModified">
        <font size="9pt" style="bold"/>
      </columnheader>
      <datetimeformat show="datetime" date="yearmonthday" fourdigityearfor21stcentury="true" time="hourminutesecond" zone="never" dateformat="weekdaymonthdayyear" dayformat="twodigitday" monthformat="twodigitmonth" yearformat="fourdigityear" weekdayformat="shortname" dateseparator1=" " dateseparator2="/" dateseparator3="/" timeseparator=":" preference="usersetting"/>
      <numberformat format="general" punctuated="false" parens="false" percent="false" bytes="false"/>
      <code event="value">
        <formula>REM {Test Comment};
@Modified</formula>
      </code>
    </column>
  </sharedcolumnref>

Some related prompts in Designer:

image

Upon saving, all views and folders that use this shared column will be updated.

Do you want to save your changes?

image

A view or folder '%view_name%' using this shared column '%column_name%' is being edited. Please exit the view or folder before continuing this operation.

from moonshine-ide.

feather812002 avatar feather812002 commented on June 1, 2024

TestDominoVisualEditor_0829 project Test

  1. multiple shared column in different view for update test
  • TestView1

image

  • TestView2

image

  • Change the shared column name to TestColumnA4 and TestColumnB4
    image
    image

  • Close and open the TestView1 and TestView2 again
    image
    image

I can repeat your bug only on your project, I check this into details ,
I found it cause the a code bug, the initial parameters of the code for traversing the view folder are not set
for (var i:int; i < viewFiles.length; i++)
so, it starting from 1, in my side I have so much view more than 3, so that these test views can be traversing even it starting the 1.
This is why I always get all update when I change the shared column , but you only can get only one view update after you change the shared column.

I already fixed, and I will remove the source path from view dxl at next .

from moonshine-ide.

JoelProminic avatar JoelProminic commented on June 1, 2024

Testing on the merged code in master, I see this debugging prompt when I click the column header to check the column properties for a shared column:
image

Also I'm getting this error when trying to save a shared column:

: Error #1034
: TypeError: Error #1034
: 	at view::DominoViewShareColumnEditor/saveEditedFile()
: 	at actionScripts.plugins.ui.editor::DominoViewShareColumnEditor/save()
: 	at actionScripts.controllers::SaveFileCommand/execute()
: 	at actionScripts.locator::IDEController/execCommand()
: 	at flash.events::EventDispatcher/dispatchEvent()
: 	at actionScripts.utils::KeyboardShortcutManager/dispatch()
: 	at actionScripts.utils::KeyboardShortcutManager/stopEvent()
: 	at actionScripts.ui.menu::MenuPlugin/redispatch()
: 	at Function/<anonymous>()
: 	at actionScripts.impls::INativeMenuItemBridgeImp/_trigger()
: 	at flash.display::NativeMenuItem/performKeyEquivalent()
: 	at flash.display::NativeMenu/performKeyEquivalent()
: 	at flash.display::NativeMenuItem/performKeyEquivalent()
: 	at flash.display::NativeMenu/performKeyEquivalent()
: 	at flash.desktop::NativeApplication/_onKeyDownCapture()

Or this error if there were no actual changes:

: Click here to Report a Bug
: Error #1034
: TypeError: Error #1034
: 	at view::DominoViewShareColumnEditor/saveEditedFile()
: 	at actionScripts.plugins.ui.editor::DominoViewShareColumnEditor/save()
: 	at actionScripts.controllers::SaveFileCommand/execute()
: 	at actionScripts.locator::IDEController/execCommand()
: 	at flash.events::EventDispatcher/dispatchEvent()
: 	at actionScripts.utils::KeyboardShortcutManager/dispatch()
: 	at actionScripts.utils::KeyboardShortcutManager/dispatchPendingEvent()

from moonshine-ide.

JoelProminic avatar JoelProminic commented on June 1, 2024

I confirmed the prompt was cleared, and I did not get errors when saving a shared column. This is ready for a merge (but there are remaining problems on #1218).

from moonshine-ide.

JoelProminic avatar JoelProminic commented on June 1, 2024

I confirmed the updates on the master branch with Moonshine Development 3.3.4, build 3085.

from moonshine-ide.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.