Module translations import manually or when module activation? - drupal

I've created a simple module and needed to add some translations messages.
Next step was to create a "translations" folder with a po file named "pt-pt.po" inside (my language defined is pt-pt) and programmatically didn't worry to import those messages.
I thought that those messages were imported when module activation but that didn't happen.
I thought wrongly? :) Or what I'm missing?
I have to import manually per-environment?
Thanks.

Does the pt-pt.po file contain strings (I don't understand from that programmatically part)? If not, you'll need something like this http://drupal.org/project/potx to extract the strings from your module.
If the translation file has strings but those were not imported keep in mind that the translations are read and imported only when a module is installed, not activated. So if the module was activated after it was deactivated at some point then the translations will not be re-read.
In this case this could solve the issue: http://drupal.org/project/po_re_importer.

Related

Flow-typed - Generate Libdef

I'm using Flow to help author a JS project. If I want to provide a libdef file to supplement it do I need to create it manually, or am I able to execute some magic command that I'm not aware of yet which will generate the lib def for me?
Something like $ flow-typed doyourmagic would be nice.
EDIT:
Found this https://stackoverflow.com/a/38906578/192999
Which says:
There's two things:
If the file is owned by you (i.e. not a third party lib inside node_modules or such), then you can create a *.js.flow file next to it that documents its exports.
If the file is not owned by you (i.e. third party lib inside node_modules or such), then you can create a libdef file inside flow-typed/name-of-library.js
For .js.flow files
you write the definitions like this:
// #flow
declare module.exports: { ... }
For libdef files you write the definitions like this:
declare module "my-third-party-library" { declare module.exports: {... } }
For my question I fall into the "is owned by you" camp.
I guess I'm confused as to:
How I write these files.
How/where I publish these files to package it up for another project to reference.
Also, why do I need to create the .js.flow file manually? Can this not be magically generated? Perhaps that's the intention going forward but not implemented yet.
I found a nice guide showing how to package flow code together with the compiled code. So:
You do not have to write your own libdefs, you can use the entire flow source code. If you want a definition with only the type declarations, you can look into flow gen-flow-files, although that is still experimental and might fail.
You can package them as *.js.flow and the flow checker will automatically pick those up when you import your library.

Dspace import failed

I just installed Dspace 5.4 and I am trying to move a collection from greenstone to Dspace.
I successfully exported the collection from greenstone but when I try to load it into Dspace via batch import (zip) I get the following error:
Notice
Import failed
/dspace/imports/New Folder.zip/New Folder/exported_DSpace/dublin_core.xml (No such file or directory)
Can anyone tell me what have I missed?
We do not have a great deal of information to go on from your question, such as how you did the export from greenstone. From what I can tell, it seems possible that you did not export the data in the correct format for dspace.
The structure should be this simple archive format
archive_directory/
item_000/
dublin_core.xml -- qualified Dublin Core metadata for metadata fields belonging to the dc schema
metadata_[prefix].xml -- metadata in another schema, the prefix is the name of the schema as registered with the metadata registry
contents -- text file containing one line per filename
file_1.doc -- files to be added as bitstreams to the item
file_2.pdf
item_001/
dublin_core.xml
contents
file_1.png
...
To export a collection from greenstone so it is suitable for dspace you can follow these steps it seems. Here is some information that might help
It seems possible that you have exported the data from greenstone but not in the correct format for DSpace.
For some more information on how the structure should look like when importing data into DSpace, you can take a look at here

Drupal 7 Node Import from CSV

I'm trying to import some content from a CSV into Drupal 7. I've tried the Feeds module but it doesn't allow me to match fields to my content type—as far as I can tell—which is a problem.
Previously—in Drupal 6—I have used Node Import but this isn't supported in Drupal 7. Any suggestions?
The feeds module will work, you just need to do a title work.
Create a new importer at admin/structure/feeds/create
Change your Parser settings to use CSV
Check the CSV Parser settings once saved and make sure the correct delimiter is selected
Select "Node Processor" as your processor in your Processor type
Verify your Processor settings. Select your content type. It is important to set a user for for the node author. There is currently a bug that will cause an error if the author is set to anonymous.
Using the column names in your CSV map your columns to your Drupal 7 fields.
Finally, go to /import and run your feed import.
That should do it for you.
Migrate is very robust and can do all kinds of importation.
For very simple things feed is certainly enough.

What is the purpose of files[] in .info?

I've just started learning discovering the changes to Drupal 7, and I just found the files[] array now required in the mymodule.info. From what I've found, it is required to add the mymodule.module file to the list, but what other uses does it have?
From what I've read I figured I should be able to separate my code into several files, for example I wanted to make a mymodule.blocks.inc to contain all the code for my blocks, but it seems like the mymodule_block_info() function never runs.
Am I doing something wrong, or is this not how it is supposed to be used?
As the documentation says:
files (Optional) Drupal now supports a dynamic-loading code registry.
To support it, all modules must now declare any code files containing class or interface declarations in the .info file.
This is only used if the file you specify in files[] contains a class or an interface. If so, the file will be auto-loaded only when needed.
No other files should be declared using files[].
At the beginning it was to make a files registry for each module, but it's not longer used as Drupal do it by himself.
If you want separate your module in multiple files, you should include them in the top of your .module file.
The way I see it, files specified as files[] are meant to be supporting files and called upon when needed. Implemented default Drupal hooks should be specified in the .module file or in the $module.$group.inc file in order for Drupal to recognize them. See hook_hook_info().
Also, see the note in the documentation under files at http://drupal.org/node/542202.

Flex - error 1046 - some .as files don't get importet

I received a Flex project and when trying to compile it i get a few 1046 errors that say the Type was not found or was not a compile-time constant MyClass
however - the respective files are listed on the top of the file in an import clause like this:
import com.folder1.folder2.folder3.MyClass;
and if i check the folder structure, MyClass.as is there.
however, if i type this same line (import com.folder1.folder2.folder3.MyClass;) and check at each . what the autocompletion suggests, I see only a subset of the as classes that are actually there on the harddisk.
What determines which classes and folders are suggested by the autocompletion function? I don't get any compile error on the corresponding import statements that import MyClass
//edit:
screenshot 1 shows the file in which the error occurs that tries to import the class in question (Updater)
http://neo.cycovery.com/flex_problem.gif
screenshot 2 shows the file Updater.as
http://neo.cycovery.com/flex_problem2.gif
the censored part of the path matches in both cases (folder structure and package statement in Updater.as)
screenshot 3 shows where the error actually happens:
http://neo.cycovery.com/flex_problem3.gif
interestingly, the variable declaration
private var _updater:Updater = new Updater();
further up in the file does not give an error
This project is set up wrong. Its obvious your application can not find the classes.
Move your "com" folder and all of the contents into your "src" folder.
Or perhaps include the files in your source path?
right click on the project name->properties->flex Build Path->add folder
the import is based on the 'package' declaration within the file itself (at the top of the file). If the file's package declaration does not match the actual folder structure, you will get problems.
Check the classes you can't see in the autocompletion list. Maybe those classes' package name doesn't match the actual structure.
Rob
Check your actionscript source paths. Any chance that the folders you are seeing (events and objects) are in there explicitly, and the others are not? Normally, you have all your source inside a folder like src that is in the source path, so that the compiler can find anything anywhere inside it. But you can just as easily make your source paths too specific and just see a few things...

Resources