How does "attachments" option in exextra work? - moodle

I would like to know more about the attachments option in \exextra. Does this option allow the attachment(s) from students when they are submitting their answers? I could not find any worked example on this feature in http://www.r-exams.org/ or in any other sources. Many thanks!

We haven't advertised this option much because we hope to further improve and streamline it in the future. There is one worked example, though: http://www.R-exams.org/templates/essayreg/. Essentially all the exextra options specified in that exercise map to the corresponding options in Moodle.

Related

In the qbXML ItemQuery request , how do I get the description for a service item?

I am creating a tool that will synchronize our production database with QuickBooks (QB). I am trying to get a list of all the items in QB using ItemQuery and I want to get the description of each item as well. However, it seems that different types of items have different ways of specifying the description. Using IncludeRetElement, I am able to get the SalesDesc for ItemInventoryRet, but I am struggling with getting the description for ItemServiceRet (and a few others, but I think if I can figure this one out, I will be able to figure out the others).
Here is my request...
<?qbxml version="12.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<ItemQueryRq requestID="2">
<IncludeRetElement>ListID</IncludeRetElement>
<IncludeRetElement>Name</IncludeRetElement>
<IncludeRetElement>FullName</IncludeRetElement>
<IncludeRetElement>ParentRef</IncludeRetElement>
<IncludeRetElement>SalesAndPurchase_SalesDesc</IncludeRetElement>
<IncludeRetElement>SalesOrPurchase_Desc</IncludeRetElement>
<IncludeRetElement>ItemDesc</IncludeRetElement>
<IncludeRetElement>SalesDesc</IncludeRetElement>
</ItemQueryRq>
</QBXMLMsgsRq>
</QBXML>
And here is the response I'm getting (shortened for clarity)...
<QBXML>
<QBXMLMsgsRs>
<ItemQueryRs requestID="2" statusCode="0" statusSeverity="Info" statusMessage="Status OK">
<ItemServiceRet>
<ListID>240000-1071531214</ListID>
<Name>Delivery</Name>
<FullName>Delivery</FullName>
</ItemServiceRet>
<ItemInventoryRet>
<ListID>270000-1071524193</ListID>
<Name>1/2" Line</Name>
<FullName>Irrigation Hose:1/2" Line</FullName>
<SalesDesc>1/2" Vinyl Irrigation Line</SalesDesc>
</ItemInventoryRet>
<ItemGroupRet>
<ListID>1E0000-934380927</ListID>
<Name>Walkway</Name>
<ItemDesc>Walkway lighting</ItemDesc>
</ItemGroupRet>
</ItemQueryRs>
</QBXMLMsgsRs>
</QBXML>
According to the documentation (pick ItemQuery from the dropdown), the description I think I want is ItemServiceRet > ORSalePurchase > SaleOrPurchase > Desc. The request includes one way I've tried, but I've tried quite a few other ways as well...
<IncludeRetElement>ORSalesPurchase:SalesOrPurchase:Desc</IncludeRetElement>
<IncludeRetElement>ORSalesPurchase.SalesOrPurchase.Desc</IncludeRetElement>
<IncludeRetElement>ORSalesPurchase_SalesOrPurchase_Desc</IncludeRetElement>
<IncludeRetElement>SalesOrPurchase:Desc</IncludeRetElement>
<IncludeRetElement>SalesOrPurchase.Desc</IncludeRetElement>
<IncludeRetElement>SalesOrPurchase_Desc</IncludeRetElement>
<IncludeRetElement>Desc</IncludeRetElement>
So the question is, how do you retrieve sub elements in qbXML queries?
I have found that if I remove all the IncludeRetElements, I do get the values. But I would like to learn how to only get the data I care about. We have a HUGE QB database so this could be a major performance issue if I have to get everything.
As a note, I switched to using QBFC10Lib instead of creating the XML myself hoping it would help me solve this issue, but it didn't. I am still having the exact same issue. I'm guessing that an answer to one will resolve both qbXML and QBFC.
I figured it out. You have to add each level separately, like this...
<?qbxml version="12.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<ItemQueryRq requestID="2">
<IncludeRetElement>ListID</IncludeRetElement>
<IncludeRetElement>Name</IncludeRetElement>
<IncludeRetElement>FullName</IncludeRetElement>
<IncludeRetElement>ItemDesc</IncludeRetElement>
<IncludeRetElement>SalesDesc</IncludeRetElement>
<IncludeRetElement>ORSalesPurchase</IncludeRetElement>
<IncludeRetElement>SalesOrPurchase</IncludeRetElement>
<IncludeRetElement>SalesAndPurchase</IncludeRetElement>
<IncludeRetElement>Desc</IncludeRetElement>
</ItemQueryRq>
</QBXMLMsgsRq>
</QBXML>
I had tried this earlier, but I think I missed a level. Anyway, hopefully this answer will help somebody else from wasting half their day :).

Using sails and waterline, where is the showJoins option set when using toObject()?

Using the Model.toObject() call , I saw that all association keys were being stripped. Looking through the documentation, it seems there's a showJoin option as well as a joins[] array of keys to include.
But, I haven't found a place where to send in or set those options. Anyone know?

RESTful urls for restore operation from a trash bin

I've been implementing a RESTful web service which has these operations:
List articles:
GET /articles
Delete articles (which should remove only selected articles to a trash bin):
DELETE /articles
List articles in the trash bin:
GET /trash/articles
I have to implement an operation for restoring "articles" from "/trash/articles" back to "/articles".
And here is the question. Ho do you usually do it? What url do I have to use?
I came up to the 2 ways of doing it. The first is:
DELETE /trash/articles
But it feels strange and a user can read it like "delete it permanently, don't restore".
And the second way is
PUT /trash/articles
Which is more odd and a user will be confused what this operation does.
I'm new to REST, so please advice how you do it normally. I tried to search in google but I don't know how to ask it right, so I didn't get something useful.
Another option could be to use "query params" to define a "complementary action/verb" to cover this "special condition" you have (given that this is not very easily covered by the HTTP verbs). This then could be done for example by:
PUT /trash/articles?restore=true
This would make the URI path still complaint with REST guideline (referring to a resource, and not encoding "actions" - like "restore") and would shift the "extra semantics" of what you want to do (which is a very special situation) to the "query parameter". "Query params" are very commonly used for "filtering" resources in REST, not so much for this kind of situation... but maybe this is a reasonable assumption given your requirements.
I would recommend using
PUT /restore/articles
or
PUT /restore/trash/articles
Late answer but, in my opinion, the best way is to change the resource itself.
For instance:
<article is_in_trash="true">
<title>come title</title>
<body>the article body</body>
<date>1990-01-01</date>
</article>
So, in order to remove the article from Trash, you would simple use PUT an updated version of the article, where is_in_trash="false".

Postgres SPI cursor options: Where is a complete list? / What are the default options?

From the Postgresql documentation:
int cursorOptions
Integer bit mask of cursor options; zero produces default behavior.
What is the default behavior? Where is a complete list of cursor options? I've been looking through the documentation for an hour now. Can someone provide a link or point me in the right direction?
I am compiling a list of cursorOptions as I peel through the documentation to help save the others the trouble.
Defined in <src/include/nodes/parsenodes.h>:
CURSOR_OPT_BINARY (0x0001)
CURSOR_OPT_SCROLL (0x0002) is required by several SPI commands. Setting this option will allow for more complex movement through cursors. Further details are explained in the documentation of SPI_cursor_fetch, SPI_cursor_move, SPI_scroll_cursor_fetch, SPI_scroll_cursor_move
CURSOR_OPT_NO_SCROLL (0x0004)
CURSOR_OPT_INSENSITIVE (0x0008)
CURSOR_OPT_HOLD (0x0010) is ignored by SPI_prepare_cursor. However, it's behavior for SPI_prepare_params and SPI_cursor_open_with_args is not specified in the documentation.
CURSOR_OPT_CUSTOM_PLAN (0x0020)
CURSOR_OPT_FAST_PLAN (0x0040)
CURSOR_OPT_GENERIC_PLAN (0x0080)
NOTE: If anyone with the ability to edit posts wishes to contribute to this answer (additional options, functionality or insights), please feel free to do so. I will try to move comments up into the answer as they come.

Show all posts from category X with the same taxonomy term as current post

I already have this almost working, with a neat snippet someone helped me with. Currently though its displaying all posts regardless of category or post type with the same taxonomy term as the current post. I would like to change it so I can specify which category it should loop in the posts from.
This is what the code looks like:
http://pastebin.com/pM8aFPQ9
I realise this is probably pretty easy to do, but I dont know where in this code I should specify the categories or how I should write to do that. Can anyone help me with this?
I used your code to solve the same problem and I filtered the posts with info from:
http://codex.wordpress.org/Class_Reference/WP_Query
Using the info on that page, in the $args that you specify, you can add 'post_type' => array('custom_post_type_01', 'custom_post_type_02');
You could also specify which categories to include (or exclude) using this code:
'category_name' => 'category';
You can find more info on the page above and you can essentially filter your posts using lots of different parameters. Hope this helps!