Попробовал разобраться, но не проверял...
{
rootProperty: "{entityName:lowercase}"
}
По частям:
rootProperty - имя ключа в приходящем с сервера JSONe, который содержит массив данных/записей/строк. В нашем случае - "layout.tabs".
entityName - название модели, причём урезанное. От полного имени класса модели отрезается первая часть, которая указана в нашем случае здесь:
{
schema: {
namespace: 'Communication.model'
}
}
Т.е.: "Communication.model.layout.Tabs" - 'Communication.model' = "layout.Tabs"
lowercase - имя функции для преобразования имени модели. Ожидаем, что из урезанного имени модели "layout.Tabs" в результате этого преобразования получится ключ в присылаемом с сервера JSONe "layout.tabs".
Смотрите подробнее в разделе "Relative Naming":
Ext.data.schema.Schema
В нашем случае, неймер в schema не указан, используется дефолтный.
С этой точки зрения, код написан верно и должен работать.
Меня насторожили некоторые вещи. Например, в исходниках
Ext.data.schema.Namer я не обнаружил lowercase. Там только присутствуют: undotted, uncapitalize, pluralize, underscore, singularize. Может в этом дело?