Cale,
- Usage_key - the same as normal blocks have. I don't think usage_key
includes block's parent, so it won't be affected by adding it to a tab vs
vertical. Is there any caveat I'm missing?
- OLX - if I do recall right XBlocks in Units are stored in "vertical",
one unit per file. For a tab it makes sense to reuse the same approach; the
only question is where to put that tab XML file. At a glance it should be
located in "tabs", as StaticTab stores it's contents there. But it is
derived from how HTML module works, so we don't have to replicate it. I
don't have final answer on this, but "tabs" folder seems like a correct
place.
- There might be three approaches:
- It doesn't - "student_view" is always rendered - this is slightly
simpler to implement and has more flexibility, but might be limited.
- Convention-based - we define a new "predefined" view (i.e.
"course_tab_view") to be used for course tab. This view might be
"abstract", or can just default to "student_view".
- Configuration based - export some decorator for XBlock to mark
"course_tab_view" explicitly.
To me, it looks like convention-based approach with "student_view" fallback
is the most efficient one, so if there are no other considerations I would
try implementing it first (and structuring the rest of conversation with
that assumption in mind).
Regards,
Eugeny
@Opencraft <http://opencraft.com>
On Tuesday, June 28, 2016 at 5:10:45 PM UTC+3, Calen Pennington wrote:
>
> Eugeny,
>
> Another approach that we've talked about in the past around this same
> problem is that rather than having a specific tab type for housing an
> XBlock, we'd allow XBlocks to expose a course_view, which the XBlock could
> use to render any course-level content (perhaps configuration details,
> perhaps something like the Discussions tab, perhaps other uses). Those tabs
> could be rendered for any XBlock type that appeared in the course.
>
> Questions I have about your proposed implementation:
>
> - what will the XBlock usage_key would be?
> - where will the XBlock content (scope.content) would be stored in OLX?
> - How does an XBlock define a view that's specific to the tab?
> - For instance, I assume that the Discussion block would have a
> different display in the tab than it would inline.
>
> -Cale
>
>
> On Tue, Jun 28, 2016 at 9:41 AM, <[email protected] <javascript:>>
> wrote:
>
>> My current understanding is that XBlockTab will just provide a "place"
>> where you can put any XBlock or component, so that it would be displayed in
>> tab.
>>
>> Theoretically it would mean that any XBlock could be added there, and
>> that XBlock would work exactly the same in tab or in unit. Practically - I
>> don't know yet - there might be a need for an XBlock to implement some
>> interface to be able to work in tab, and in that case only certain XBlocks
>> will be available for tabs. But I would like to avoid that and have a truly
>> generic solution.
>>
>> In two words: the suggested XBlockTab lives in edx-platform and only
>> "hosts" XBlocks.
>>
>> Regards,
>> Eugeny
>> @Opencraft <http://opencraft.com>
>>
>> On Tuesday, June 28, 2016 at 4:30:00 PM UTC+3, Cristian Salamea wrote:
>>>
>>>
>>>
>>> On Tue, Jun 28, 2016 at 8:13 AM, Peter Pinch <[email protected]> wrote:
>>>
>>>> How would this affect course import and export?
>>>>
>>>> I believe unrecognized blocks are ignored on import, but that may be
>>>> harder to do with tabs, since they are specified in policy.json.
>>>>
>>>
>>> In fact question could be extended to: in future any xblock can add a
>>> tab ?
>>>
>>>>
>>>> I'd also want to make sure that there is some meaningful logging and
>>>> error messaging to the user when a course is imported and the proper
>>>> XBlockTab hasn't been installed.
>>>>
>>>> On Jun 28, 2016, at 9:06 AM, [email protected] wrote:
>>>>
>>>> Hello world!
>>>>
>>>> *Background*: OEP is a new (suggested) format for proposing changes to
>>>> Open edX platform. More details:
>>>> https://github.com/edx/open-edx-proposals/blob/master/oeps/oep-0001.rst
>>>>
>>>> *Idea: *Allow XBlocks to be displayed in a course tab (like Progress,
>>>> Discussion, etc.)
>>>>
>>>> *Motivation: *
>>>>
>>>> - In order to completely pull out discussions from edx-platform.
>>>> discussion XModule is (almost) converted to an XBlock
>>>> <https://github.com/edx/edx-platform/pull/12582>. The next step
>>>> would be to replace course discussion tab with discussion XBlock-based
>>>> solution.
>>>> - This might be useful for building instructor tools (example of a
>>>> tool that could benefit from this
>>>>
>>>> <https://github.com/open-craft/problem-builder/blob/master/problem_builder/instructor_tool.py>).
>>>>
>>>> This is related to other thread on mailing list
>>>> <https://groups.google.com/forum/#!topic/edx-code/Zd2sKQaMhHI> -
>>>> kind of alternative implementation.
>>>>
>>>> *Tentative implementation details: *
>>>>
>>>> *tl;dr*: XBlockTab (working name) will be similar to existing
>>>> StaticTab (powers "Custom Page" feature) and use nested XBlocks concept to
>>>> allow using any XBlock (component?) in a Tab.
>>>>
>>>> Overall, it would work like that:
>>>>
>>>> - "Pages" page in Studio will have "Add XBlock Page" button added;
>>>> this button will cause XBlockTab to be added to a course
>>>> - In studio XBlockTab will expose UI for adding XBlocks and (most
>>>> likely) other components (problems, video, etc.), similar to one found
>>>> in
>>>> course Outline editor (Unit page). At a glance it looks like it could
>>>> be
>>>> exact same UI, but it is not 100% clear yet.
>>>> - Components added to an XBlockTab will be persisted to the
>>>> modulestore using the same mechanism to allow nested XBlocks.
>>>> - In LMS, XBlockTab will render its children (nested) components
>>>> sequentially - much like "Unit" (aka vertical module).
>>>>
>>>>
>>>> I'm about writing an OEP this week, so feedback and ideas are very
>>>> welcome.
>>>>
>>>> Regards,
>>>> Eugeny
>>>> @Opencraft <http://opencraft.com/>
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "General Open edX discussion" group.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/edx-code/ad852782-b1e2-46ba-85bc-8d93db72048a%40googlegroups.com
>>>>
>>>> <https://groups.google.com/d/msgid/edx-code/ad852782-b1e2-46ba-85bc-8d93db72048a%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "General Open edX discussion" group.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/edx-code/CFAAC85C-CE8E-4A56-819C-F1610A0C730A%40gmail.com
>>>>
>>>> <https://groups.google.com/d/msgid/edx-code/CFAAC85C-CE8E-4A56-819C-F1610A0C730A%40gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>
>>>
>>>
>>> --
>>>
>>>
>>> [image: Cristian Salamea on about.me]
>>>
>>> Cristian Salamea
>>> about.me/ovnicraft
>>> <http://about.me/ovnicraft>
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "General Open edX discussion" group.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/edx-code/70e847c6-b42e-470f-8ea2-9ffba6d81e2f%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/edx-code/70e847c6-b42e-470f-8ea2-9ffba6d81e2f%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
--
You received this message because you are subscribed to the Google Groups
"General Open edX discussion" group.
To view this discussion on the web visit
https://groups.google.com/d/msgid/edx-code/4dd69f54-5ead-45ea-bf29-3b7ffce6be64%40googlegroups.com.