Skip to content

Support metadata only folders #128

@stephanjohnson

Description

@stephanjohnson

What problem are you trying to solve?

When managing metadata where there are a lot of items of different types in a folder, it would be nice to be able to organize them into folders that do not result in the template output creating matching folders. Currently there is only an option to make a folder a Namespace Provider or not.

I have the following metadata in my Service Designer Services Package:

image

It produces the following template output:

  • Verentis.Security.Users.Application\Users\CreateUser\CreateUserCommand[Handler|Validator].cs
  • Verentis.Security.Users.Application\Users\GetUserAsync\GetUserAsync[Handler|Validator].cs
  • Verentis.Security.Users.Application\Users\UserExists\UserExistsQuery[Handler|Validator].cs
  • Verentis.Security.Users.Application\Users\UserContractDto[MappingExtensions].cs
  • Verentis.Security.Users.Application\EventHandlers\Users\UserActivatedDomainEventHandler.cs
  • Verentis.Security.Users.Application\EventHandlers\Users\UserArchivedDomainEventHandler.cs
  • Verentis.Security.Users.Application\EventHandlers\Users\UserCreatedDomainEventHandler.cs
  • Verentis.Security.Users.Application\EventHandlers\Users\UserDeletedDomainEventHandler.cs
  • Verentis.Security.Users.Application\EventHandlers\Users\UserFlagRemovedDomainEventHandler.cs
  • Verentis.Security.Users.Application\EventHandlers\Users\UserFlagSetDomainEventHandler.cs
  • Verentis.Security.Users.Application\EventHandlers\Users\UserFlagsRemovedDomainEventHandler.cs
  • Verentis.Security.Users.Application\EventHandlers\Users\UserRestoredDomainEventHandler.cs
  • Verentis.Security.Users.Application\EventHandlers\Users\UserSuspendedDomainEventHandler.cs

This is all fine, and exactly as it is supposed to be.

However, my metadata folder feels like it could be a bit more optimized. I would like to group all of the event handlers into a folder, so that, in this case, my service designer still focuses on the commands and queries as the most important visual information. I would like to do something like this:

image

Except, if I do this, the resulting template output would look like this:

  • Verentis.Security.Users.Application\Users\CreateUser\CreateUserCommand[Handler|Validator].cs
  • Verentis.Security.Users.Application\Users\GetUserAsync\GetUserAsync[Handler|Validator].cs
  • Verentis.Security.Users.Application\Users\UserExists\UserExistsQuery[Handler|Validator].cs
  • Verentis.Security.Users.Application\Users\DTOs\UserContractDto[MappingExtensions].cs
  • Verentis.Security.Users.Application\EventHandlers\Users\Domain Event Handlers\UserActivatedDomainEventHandler.cs
  • Verentis.Security.Users.Application\EventHandlers\Users\Domain Event Handlers\UserArchivedDomainEventHandler.cs
  • Verentis.Security.Users.Application\EventHandlers\Users\Domain Event Handlers\UserCreatedDomainEventHandler.cs
  • Verentis.Security.Users.Application\EventHandlers\Users\Domain Event Handlers\UserDeletedDomainEventHandler.cs
  • Verentis.Security.Users.Application\EventHandlers\Users\Domain Event Handlers\UserFlagRemovedDomainEventHandler.cs
  • Verentis.Security.Users.Application\EventHandlers\Users\Domain Event Handlers\UserFlagSetDomainEventHandler.cs
  • Verentis.Security.Users.Application\EventHandlers\Users\Domain Event Handlers\UserFlagsRemovedDomainEventHandler.cs
  • Verentis.Security.Users.Application\EventHandlers\Users\Domain Event Handlers\UserRestoredDomainEventHandler.cs
  • Verentis.Security.Users.Application\EventHandlers\Users\Domain Event Handlers\UserSuspendedDomainEventHandler.cs

By reducing noise in the metadata, I am increasing noise in the resulting template output.

Describe the solution you'd like

It would be great if there were an extra option in the Folder Options for Metadata only that helps organize my metadata, but has no impact on the template output.

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions